@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;800&family=Sora:wght@300;400;500;600;700&display=swap');

.orbis-rpg {
    --rpg-bg: #0b0916;
    --rpg-panel: oklch(0.16 0.05 285 / 0.92);
    --rpg-panel-2: oklch(0.2 0.055 288 / 0.92);
    --rpg-border: oklch(1 0 0 / 0.1);
    --rpg-text: oklch(0.95 0.012 290);
    --rpg-muted: oklch(0.72 0.03 290);
    --rpg-gold: oklch(0.82 0.12 95);
    --rpg-arcane: oklch(0.7 0.16 300);
    --rpg-pink: oklch(0.7 0.16 300);
    --rpg-purple: oklch(0.6 0.2 300);
    --rpg-cyan: oklch(0.82 0.12 95);
    max-width: 1680px;
    margin: 0 auto;
    padding: clamp(1.25rem, 3vw, 2.5rem);
    color: var(--rpg-text);
    font-family: 'Sora', system-ui, sans-serif;
    position: relative;
    border-radius: 18px;
    background: transparent;
}

.orbis-rpg,
.orbis-rpg * {
    box-sizing: border-box;
}

.orbis-rpg__hero,
.orbis-rpg__card,
.orbis-rpg__daily,
.orbis-rpg__modules article,
.orbis-rpg__zones,
.orbis-rpg__inventory,
.orbis-rpg__jobs,
.orbis-rpg__professions,
.orbis-rpg__crafting,
.orbis-rpg__upgrades,
.orbis-rpg__shop,
.orbis-rpg__market,
.orbis-rpg__missions,
.orbis-rpg__achievements,
.orbis-rpg__ranking,
.orbis-rpg__activity {
    border: 1px solid var(--rpg-border);
    border-top-color: oklch(0.82 0.12 95 / 0.45);
    border-bottom-color: oklch(0.6 0.2 300 / 0.40);
    border-radius: 16px;
    background:
        radial-gradient(circle at 80% 0%, oklch(0.6 0.2 300 / 0.16), transparent 36%),
        linear-gradient(180deg, oklch(0.20 0.055 288 / 0.96), oklch(0.14 0.04 283 / 0.92));
    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.40), inset 0 1px oklch(1 0 0 / 0.05);
    backdrop-filter: blur(14px);
}

.orbis-rpg__hero {
    min-height: 280px;
    display: grid;
    align-content: end;
    padding: clamp(1.5rem, 4vw, 3rem);
    margin-bottom: 1rem;
    position: relative;
    overflow: hidden;
}

.orbis-rpg__hero::after {
    content: "";
    position: absolute;
    width: 340px;
    height: 340px;
    right: 10%;
    top: 50%;
    border: 28px solid rgba(255, 56, 211, 0.34);
    border-radius: 999px;
    transform: translateY(-50%);
    filter: drop-shadow(0 0 38px rgba(255, 56, 211, 0.46));
    opacity: 0.8;
}

.orbis-rpg__hero > * {
    position: relative;
    z-index: 1;
}

.orbis-rpg__hero p,
.orbis-rpg__daily p,
.orbis-rpg__modules span,
.orbis-rpg__card span {
    margin: 0 0 0.45rem;
    color: var(--rpg-pink);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.orbis-rpg__hero h1 {
    max-width: 720px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.6rem, 7vw, 6.2rem);
    line-height: 0.92;
    text-transform: uppercase;
}

.orbis-rpg__hero span,
.orbis-rpg__daily span,
.orbis-rpg__card small,
.orbis-rpg__modules small,
.orbis-rpg__activity span {
    color: var(--rpg-muted);
}

.orbis-rpg__grid {
    display: grid;
    grid-template-columns: minmax(240px, 1.3fr) repeat(5, minmax(120px, 1fr));
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.orbis-rpg__card {
    min-height: 132px;
    padding: 1.1rem;
}

.orbis-rpg__card strong {
    display: block;
    color: #fff;
    font-size: clamp(1.9rem, 4vw, 3rem);
    line-height: 1;
}

.orbis-rpg__profile {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: center;
}

.orbis-rpg__profile h2 {
    margin: 0.15rem 0 0.75rem;
    color: #fff;
    font-size: clamp(1.7rem, 4vw, 3.2rem);
}

.orbis-rpg__avatar img {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(139, 92, 246, 0.66), 0 0 34px rgba(255, 56, 211, 0.45);
}

.orbis-rpg__bar {
    height: 9px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.08);
}

.orbis-rpg__bar i {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--rpg-purple), var(--rpg-pink), var(--rpg-cyan));
    box-shadow: 0 0 18px rgba(255, 56, 211, 0.42);
}

.orbis-rpg__main {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.8fr);
    gap: 0.75rem;
}

.orbis-rpg__daily {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    min-height: 220px;
    padding: clamp(1.25rem, 3vw, 2rem);
}

.orbis-rpg__daily h2 {
    max-width: 680px;
    margin: 0 0 0.65rem;
    color: #fff;
    font-size: clamp(1.8rem, 4vw, 3.6rem);
    line-height: 1;
}

.orbis-rpg__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 1.25rem;
    border: 0;
    color: #fff;
    font-weight: 900;
    text-decoration: none;
    background: linear-gradient(135deg, var(--rpg-purple), var(--rpg-pink));
    box-shadow: 0 0 28px rgba(255, 56, 211, 0.32);
    cursor: pointer;
}

.orbis-rpg__button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.orbis-rpg__button--unlock {
    background: linear-gradient(135deg, #1f8fb0, #49e6ff);
    color: #06202b;
    box-shadow: 0 0 24px rgba(73, 230, 255, 0.3);
}

.orbis-rpg__modules {
    display: grid;
    gap: 0.75rem;
}

.orbis-rpg__modules article {
    padding: 1rem;
}

.orbis-rpg__modules strong {
    display: block;
    color: #fff;
    font-size: 1.1rem;
}

.orbis-rpg__activity {
    grid-column: 1 / -1;
    margin-top: 0.75rem;
    padding: 1.1rem;
}

.orbis-rpg__play {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.orbis-rpg__zones,
.orbis-rpg__inventory,
.orbis-rpg__jobs,
.orbis-rpg__professions,
.orbis-rpg__crafting,
.orbis-rpg__upgrades,
.orbis-rpg__shop,
.orbis-rpg__market,
.orbis-rpg__missions,
.orbis-rpg__achievements,
.orbis-rpg__ranking {
    padding: 1.1rem;
}

.orbis-rpg__zones header,
.orbis-rpg__inventory header,
.orbis-rpg__jobs header,
.orbis-rpg__professions header,
.orbis-rpg__crafting header,
.orbis-rpg__upgrades header,
.orbis-rpg__shop header,
.orbis-rpg__market header,
.orbis-rpg__missions header,
.orbis-rpg__achievements header,
.orbis-rpg__ranking header {
    margin-bottom: 1rem;
}

.orbis-rpg__zones p,
.orbis-rpg__inventory p,
.orbis-rpg__jobs p,
.orbis-rpg__professions p,
.orbis-rpg__crafting p,
.orbis-rpg__upgrades p,
.orbis-rpg__shop p,
.orbis-rpg__market p,
.orbis-rpg__missions p,
.orbis-rpg__achievements p,
.orbis-rpg__ranking p {
    margin: 0 0 0.35rem;
    color: var(--rpg-cyan);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.orbis-rpg__zones h2,
.orbis-rpg__inventory h2,
.orbis-rpg__jobs h2,
.orbis-rpg__professions h2,
.orbis-rpg__crafting h2,
.orbis-rpg__upgrades h2,
.orbis-rpg__shop h2,
.orbis-rpg__market h2,
.orbis-rpg__missions h2,
.orbis-rpg__achievements h2,
.orbis-rpg__ranking h2 {
    margin: 0 0 0.35rem;
    color: #fff;
}

.orbis-rpg__zone-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
}

.orbis-rpg__shop {
    margin-top: 0.75rem;
}

.orbis-rpg__jobs,
.orbis-rpg__professions,
.orbis-rpg__crafting,
.orbis-rpg__upgrades {
    margin-top: 0.75rem;
}

.orbis-rpg__missions,
.orbis-rpg__market,
.orbis-rpg__achievements,
.orbis-rpg__ranking {
    margin-top: 0.75rem;
}

.orbis-rpg__job-grid,
.orbis-rpg__profession-grid,
.orbis-rpg__craft-grid,
.orbis-rpg__upgrade-grid,
.orbis-rpg__mission-grid,
.orbis-rpg__achievement-grid,
.orbis-rpg__market-grid,
.orbis-rpg__shop-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.orbis-rpg__job-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.orbis-rpg__profession-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.orbis-rpg__market-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.orbis-rpg__craft-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.orbis-rpg__upgrade-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.orbis-rpg__mission-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.orbis-rpg__achievement-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.orbis-rpg__zone,
.orbis-rpg__job-grid article,
.orbis-rpg__profession-grid article,
.orbis-rpg__craft-grid article,
.orbis-rpg__upgrade-grid article,
.orbis-rpg__mission-grid article,
.orbis-rpg__achievement-grid article,
.orbis-rpg__market-grid article,
.orbis-rpg__shop-grid article,
.orbis-rpg__ranking-list article,
.orbis-rpg__inventory-list article,
.orbis-rpg__empty {
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-top-color: rgba(73, 230, 255, 0.25);
    border-bottom-color: rgba(255, 56, 211, 0.25);
    background: rgba(4, 8, 18, 0.38);
}

.orbis-rpg__zone h3,
.orbis-rpg__job-grid h3,
.orbis-rpg__profession-grid h3,
.orbis-rpg__craft-grid h3,
.orbis-rpg__upgrade-grid h3,
.orbis-rpg__mission-grid h3,
.orbis-rpg__achievement-grid h3,
.orbis-rpg__market-grid h3,
.orbis-rpg__shop-grid h3,
.orbis-rpg__inventory-list strong {
    display: block;
    margin: 0.25rem 0;
    color: #fff;
    font-size: 1.08rem;
}

.orbis-rpg__zone span,
.orbis-rpg__zone small,
.orbis-rpg__job-grid span,
.orbis-rpg__job-grid small,
.orbis-rpg__profession-grid span,
.orbis-rpg__profession-grid small,
.orbis-rpg__craft-grid span,
.orbis-rpg__craft-grid small,
.orbis-rpg__upgrade-grid span,
.orbis-rpg__upgrade-grid small,
.orbis-rpg__upgrade-grid em,
.orbis-rpg__mission-grid span,
.orbis-rpg__mission-grid small,
.orbis-rpg__achievement-grid span,
.orbis-rpg__achievement-grid small,
.orbis-rpg__market-grid span,
.orbis-rpg__market-grid small,
.orbis-rpg__shop-grid span,
.orbis-rpg__shop-grid small,
.orbis-rpg__inventory-list span,
.orbis-rpg__empty {
    color: var(--rpg-muted);
}

.orbis-rpg__zone .orbis-rpg__button,
.orbis-rpg__job-grid .orbis-rpg__button,
.orbis-rpg__profession-grid .orbis-rpg__button,
.orbis-rpg__craft-grid .orbis-rpg__button,
.orbis-rpg__upgrade-grid .orbis-rpg__button,
.orbis-rpg__mission-grid .orbis-rpg__button,
.orbis-rpg__achievement-grid .orbis-rpg__button,
.orbis-rpg__market-grid .orbis-rpg__button,
.orbis-rpg__shop-grid .orbis-rpg__button {
    width: 100%;
    margin-top: 0.9rem;
}

.orbis-rpg__craft-grid ul {
    display: grid;
    gap: 0.35rem;
    margin: 0.85rem 0 0;
    padding: 0;
    list-style: none;
}

.orbis-rpg__craft-grid li {
    padding: 0.45rem 0.55rem;
    color: rgba(248, 251, 255, 0.58);
    background: rgba(255, 255, 255, 0.04);
}

.orbis-rpg__craft-grid li.is-ready {
    color: #b8ff7a;
    box-shadow: inset 3px 0 rgba(184, 255, 122, 0.72);
}

.orbis-rpg__upgrade-grid b,
.orbis-rpg__profession-grid b,
.orbis-rpg__market-grid b,
.orbis-rpg__upgrade-grid em {
    display: block;
    margin-top: 0.75rem;
    font-style: normal;
}

.orbis-rpg__upgrade-grid b,
.orbis-rpg__profession-grid b,
.orbis-rpg__market-grid b {
    color: var(--rpg-cyan);
}

.orbis-rpg__profession-grid article.is-active {
    border-top-color: rgba(184, 255, 122, 0.72);
    border-bottom-color: rgba(255, 56, 211, 0.72);
    box-shadow: inset 0 0 34px rgba(184, 255, 122, 0.08), 0 0 30px rgba(255, 56, 211, 0.1);
}

.orbis-rpg__market-form {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) 110px 130px auto;
    gap: 0.65rem;
    margin-bottom: 0.9rem;
}

.orbis-rpg__market-form select,
.orbis-rpg__market-form input {
    min-height: 48px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: var(--rpg-text);
    background: rgba(4, 8, 18, 0.48);
    padding: 0 0.85rem;
}

.orbis-rpg__market-form select option {
    color: #101522;
}

.orbis-rpg__upgrade-grid article.is-complete {
    box-shadow: inset 0 0 32px rgba(184, 255, 122, 0.08);
}

.orbis-rpg__zone.is-locked {
    opacity: 0.48;
}

.orbis-rpg__inventory-list {
    display: grid;
    gap: 0.65rem;
}

.orbis-rpg__inventory-list article.is-raro {
    border-bottom-color: rgba(73, 230, 255, 0.56);
}

.orbis-rpg__inventory-list article.is-epico {
    border-bottom-color: rgba(255, 56, 211, 0.76);
    box-shadow: inset 0 0 26px rgba(255, 56, 211, 0.08);
}

.orbis-rpg__inventory-list article.is-equipped {
    border-top-color: rgba(184, 255, 122, 0.72);
    border-bottom-color: rgba(184, 255, 122, 0.72);
    box-shadow: inset 0 0 34px rgba(184, 255, 122, 0.08), 0 0 28px rgba(184, 255, 122, 0.08);
}

.orbis-rpg__inventory-list article.is-equipped strong::after {
    content: " equipado";
    margin-left: 0.4rem;
    color: #b8ff7a;
    font-size: 0.7rem;
    text-transform: uppercase;
}

.orbis-rpg__inventory-list em {
    display: block;
    margin-top: 0.45rem;
    color: var(--rpg-cyan);
    font-style: normal;
    font-size: 0.82rem;
}

.orbis-rpg__inventory-list button {
    width: 100%;
    min-height: 34px;
    margin-top: 0.7rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    font-weight: 800;
    background: rgba(255, 255, 255, 0.06);
    cursor: pointer;
}

.orbis-rpg__mini-bar {
    height: 6px;
    margin-top: 0.8rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.08);
}

.orbis-rpg__mini-bar i {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--rpg-purple), var(--rpg-pink));
}

.orbis-rpg__mission-grid article.is-claimed {
    opacity: 0.55;
}

.orbis-rpg__achievement-grid article.is-claimed {
    opacity: 0.55;
}

.orbis-rpg__achievement-grid article.is-complete:not(.is-claimed) {
    border-top-color: rgba(184, 255, 122, 0.72);
    border-bottom-color: rgba(255, 56, 211, 0.72);
    box-shadow: inset 0 0 34px rgba(184, 255, 122, 0.08), 0 0 30px rgba(255, 56, 211, 0.1);
}

.orbis-rpg__ranking-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

.orbis-rpg__ranking-list article {
    display: grid;
    grid-template-columns: auto 44px 1fr;
    align-items: center;
    gap: 0.65rem;
}

.orbis-rpg__ranking-list strong {
    color: var(--rpg-pink);
}

.orbis-rpg__ranking-list img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.58);
}

.orbis-rpg__ranking-list b,
.orbis-rpg__ranking-list span {
    display: block;
}

.orbis-rpg__ranking-list b {
    color: #fff;
}

.orbis-rpg__ranking-list span {
    color: var(--rpg-muted);
    font-size: 0.78rem;
}

.orbis-rpg__activity h2 {
    margin: 0 0 0.9rem;
    color: #fff;
}

.orbis-rpg__activity div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.8rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.orbis-rpg--login .orbis-rpg__hero {
    min-height: 420px;
}

@media (max-width: 900px) {
    .orbis-rpg__grid,
    .orbis-rpg__main,
    .orbis-rpg__play {
        grid-template-columns: 1fr;
    }

    .orbis-rpg__zone-grid {
        grid-template-columns: 1fr;
    }

    .orbis-rpg__shop-grid {
        grid-template-columns: 1fr;
    }

    .orbis-rpg__job-grid {
        grid-template-columns: 1fr;
    }

    .orbis-rpg__profession-grid,
    .orbis-rpg__craft-grid,
    .orbis-rpg__upgrade-grid {
        grid-template-columns: 1fr;
    }

    .orbis-rpg__mission-grid,
    .orbis-rpg__achievement-grid,
    .orbis-rpg__market-grid,
    .orbis-rpg__ranking-list {
        grid-template-columns: 1fr;
    }

    .orbis-rpg__market-form {
        grid-template-columns: 1fr;
    }

    .orbis-rpg__daily {
        align-items: stretch;
        flex-direction: column;
    }

    .orbis-rpg__activity div {
        flex-direction: column;
    }
}

/* ───────────────────────────────────────────────
   Pixel sprite scenes (Pipoya assets) — slice 1
   Sheets are 96x128 (3 cols x 4 rows of 32x32).
   Rows: 0 down, 1 left, 2 right, 3 up.
─────────────────────────────────────────────── */
.orpg-scene {
    position: relative;
    height: 120px;
    margin: -1rem -1rem 0.85rem;
    background-size: cover;
    background-position: center 62%;
    image-rendering: pixelated;
    overflow: hidden;
    border-bottom: 1px solid var(--rpg-border);
}

.orpg-scene::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 52%, rgba(7, 11, 22, 0.6));
    pointer-events: none;
}

.orpg-sprite {
    position: absolute;
    bottom: 8px;
    z-index: 1;
    width: 32px;
    height: 32px;
    background-repeat: no-repeat;
    background-size: 96px 128px;
    background-position-x: -32px;
    background-position-y: 0;
    image-rendering: pixelated;
    transform: scale(2.2);
    transform-origin: bottom center;
}

.orpg-hero {
    left: 22px;
    background-position-y: -64px;
    animation: orpg-walk 0.7s steps(3) infinite;
}

.orpg-enemy {
    right: 22px;
    background-position-y: -32px;
    animation: orpg-walk 1.05s steps(3) infinite;
}

@keyframes orpg-walk {
    from { background-position-x: 0; }
    to { background-position-x: -96px; }
}

.orbis-rpg__zone.is-locked .orpg-scene { filter: grayscale(0.7) brightness(0.55); }
.orbis-rpg__zone.is-locked .orpg-hero { animation: none; background-position-x: -32px; }

.orpg-hero-big {
    position: absolute;
    right: 7%;
    bottom: 16px;
    width: 32px;
    height: 32px;
    background-repeat: no-repeat;
    background-size: 96px 128px;
    background-position-x: -32px;
    background-position-y: 0;
    image-rendering: pixelated;
    transform: scale(4.4);
    transform-origin: bottom center;
    z-index: 1;
    filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.5));
    animation: orpg-walk 0.8s steps(3) infinite;
}

@media (max-width: 900px) {
    .orpg-hero-big { display: none; }
}

/* ───────── Encounter overlay (combat + events) ───────── */
.orpg-enc-overlay {
    position: fixed; inset: 0; z-index: 99999;
    display: flex; align-items: center; justify-content: center;
    background: rgba(4, 6, 14, 0.82); padding: 16px;
}
.orpg-enc {
    width: min(680px, 96vw); border-radius: 16px; overflow: hidden;
    border: 1px solid rgba(139, 92, 246, 0.5); background: #0b1024; color: #f8fbff;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.65);
}
.orpg-enc__stage {
    position: relative; height: 230px; background-size: cover; background-position: center 60%;
    image-rendering: pixelated; overflow: hidden;
}
.orpg-enc__stage::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(4,6,14,.05), rgba(4,6,14,.5)); pointer-events: none; }
.orpg-enc__spr {
    position: absolute; bottom: 26px; width: 32px; height: 32px;
    background-size: 96px 128px; background-repeat: no-repeat; image-rendering: pixelated;
    transform: scale(3); transform-origin: bottom center; z-index: 1;
}
.orpg-enc__hero { left: 76px; background-position: -32px -64px; }
.orpg-enc__enemy { right: 76px; background-position: -32px -32px; }
.orpg-enc__hero.is-walk { animation: orpg-encwalk-h .6s steps(3) infinite; }
.orpg-enc__enemy.is-walk { animation: orpg-encwalk-e .9s steps(3) infinite; }
@keyframes orpg-encwalk-h { from { background-position: 0 -64px; } to { background-position: -96px -64px; } }
@keyframes orpg-encwalk-e { from { background-position: 0 -32px; } to { background-position: -96px -32px; } }
.orpg-enc__hero.is-hit { animation: orpg-enclunge-h .3s; }
.orpg-enc__enemy.is-hit { animation: orpg-encflinch .35s; }
@keyframes orpg-enclunge-h { 0%,100% { transform: scale(3) translateX(0);} 45% { transform: scale(3) translateX(40px);} }
@keyframes orpg-encflinch { 0%,100% { filter: none;} 35% { filter: brightness(2.6) drop-shadow(0 0 6px #fff);} 36% { transform: scale(3) translateX(8px);} }
.orpg-enc__hero.is-flinch { animation: orpg-encflinch .35s; }
.orpg-enc__hp { position: absolute; top: 14px; width: 150px; z-index: 2; }
.orpg-enc__hp.left { left: 16px; } .orpg-enc__hp.right { right: 16px; }
.orpg-enc__hp b { display: block; font-size: 0.8rem; margin-bottom: 4px; text-shadow: 0 1px 3px rgba(0,0,0,.7); }
.orpg-enc__hp.right b { text-align: right; }
.orpg-enc__hpbar { height: 12px; border-radius: 99px; background: rgba(0,0,0,.4); overflow: hidden; border: 1px solid rgba(255,255,255,.18); }
.orpg-enc__hpfill { height: 100%; border-radius: 99px; transition: width .25s ease; }
.orpg-enc__hp.left .orpg-enc__hpfill { background: linear-gradient(90deg, #34e3c4, #10b981); }
.orpg-enc__hp.right .orpg-enc__hpfill { background: linear-gradient(90deg, #ff7676, #dc2626); margin-left: auto; }
.orpg-enc__dmg { position: absolute; font-weight: 900; font-size: 1.4rem; pointer-events: none; z-index: 3; text-shadow: 0 2px 5px rgba(0,0,0,.6); animation: orpg-encrise .9s ease-out forwards; }
@keyframes orpg-encrise { 0% { opacity: 0; transform: translateY(0) scale(.6);} 15% { opacity: 1; transform: translateY(-8px) scale(1.15);} 100% { opacity: 0; transform: translateY(-52px) scale(1);} }
.orpg-enc__panel { padding: 14px 16px; background: rgba(7, 11, 22, 0.96); }
.orpg-enc__msg { font-size: 0.9rem; min-height: 20px; color: #cdbcff; margin: 0 0 4px; }
.orpg-enc__combo { font-weight: 900; color: #ffd76a; }
.orpg-enc__track { position: relative; height: 28px; border-radius: 9px; background: #1c1638; overflow: hidden; border: 1px solid rgba(124,92,255,.45); margin: 10px 0; }
.orpg-enc__zone { position: absolute; top: 0; bottom: 0; background: rgba(52,227,196,.3); border-left: 2px solid #34e3c4; border-right: 2px solid #34e3c4; }
.orpg-enc__perfect { position: absolute; top: 0; bottom: 0; background: rgba(255,215,106,.55); }
.orpg-enc__marker { position: absolute; top: -2px; width: 4px; height: 32px; background: #fff; box-shadow: 0 0 8px #fff; border-radius: 2px; }
.orpg-enc__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.orpg-enc__btn { flex: 1; min-width: 120px; min-height: 46px; border: 0; cursor: pointer; color: #fff; font-weight: 900; border-radius: 10px; background: linear-gradient(135deg, #8b5cf6, #ff38d3); box-shadow: 0 8px 22px -10px rgba(255,56,211,.9); }
.orpg-enc__btn--ghost { background: rgba(255,255,255,.08); box-shadow: none; border: 1px solid rgba(255,255,255,.18); }
.orpg-enc__btn:disabled { opacity: .45; cursor: not-allowed; }
.orpg-enc__event { padding: 18px; background: rgba(7,11,22,.96); }
.orpg-enc__event h3 { margin: 0 0 6px; color: #fff; font-size: 1.3rem; }
.orpg-enc__event p { margin: 0 0 14px; color: var(--rpg-muted); }
.orpg-enc__event .orpg-enc__btn { display: block; width: 100%; margin: 8px 0 0; flex: none; }
.orpg-enc__shopitem { margin: 0 0 14px; padding: 10px 12px; border-radius: 10px; background: rgba(73,230,255,.1); border: 1px solid rgba(73,230,255,.3); color: #cdeffd; }
.orpg-enc__shopitem b { color: #fff; }
.orpg-enc__loot { padding: 22px; text-align: center; background: rgba(7,11,22,.96); }
.orpg-enc__loot h3 { margin: 0 0 10px; color: #fff; font-size: 1.5rem; }
.orpg-enc__loot .reward { color: #ffd76a; font-size: 1.1rem; margin-bottom: 16px; }
.orpg-enc__fly { position: absolute; font-weight: 900; color: #ffd76a; pointer-events: none; z-index: 3; animation: orpg-encrise 1.1s ease-out forwards; }

/* ───────── Character attributes (POE-style) ───────── */
.orbis-rpg__attrs {
    padding: 1.1rem; margin-top: 0.75rem;
    border: 1px solid var(--rpg-border);
    border-top-color: rgba(73, 230, 255, 0.38);
    border-bottom-color: rgba(255, 56, 211, 0.38);
    background:
        radial-gradient(circle at 80% 0%, rgba(255, 56, 211, 0.12), transparent 34%),
        linear-gradient(135deg, rgba(17, 25, 43, 0.88), rgba(34, 25, 51, 0.78));
}
.orbis-rpg__attrs header { margin-bottom: 1rem; }
.orbis-rpg__attrs p { margin: 0 0 0.35rem; color: var(--rpg-cyan); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.08em; }
.orbis-rpg__attrs h2 { margin: 0 0 0.35rem; color: #fff; }
.orbis-rpg__attrs header span { color: var(--rpg-muted); }
.orbis-rpg__attr-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.7rem; }
.orbis-rpg__attr-grid article {
    padding: 0.9rem; border: 1px solid rgba(255, 255, 255, 0.08);
    border-top-color: rgba(73, 230, 255, 0.25); border-bottom-color: rgba(255, 56, 211, 0.25);
    background: rgba(4, 8, 18, 0.38);
}
.orbis-rpg__attr-grid span { color: var(--rpg-muted); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; }
.orbis-rpg__attr-grid strong { display: block; color: #fff; font-size: 1.5rem; line-height: 1; margin: 0.25rem 0; }
.orbis-rpg__attr-grid small { color: var(--rpg-muted); font-size: 0.72rem; }
.orbis-rpg__attr-grid .is-str strong { color: #ff7676; }
.orbis-rpg__attr-grid .is-dex strong { color: #8fe388; }
.orbis-rpg__attr-grid .is-int strong { color: #49e6ff; }
.orbis-rpg__active-card { padding: 0.9rem 1rem; margin-bottom: 0.9rem; background: rgba(4, 8, 18, 0.5); border: 1px solid rgba(255,255,255,0.08); border-left: 4px solid var(--rar, #b9c2d0); }
.orbis-rpg__active-card strong { display: block; color: #fff; font-size: 1.2rem; line-height: 1.1; }
.orbis-rpg__active-card small { color: var(--rar, #b9c2d0); font-weight: 900; text-transform: uppercase; letter-spacing: 0.04em; font-size: 0.72rem; }
.orbis-rpg__active-card .orbis-rpg__bar { margin-top: 0.55rem; height: 7px; }
@media (max-width: 900px) { .orbis-rpg__attr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ───────── Gear inventory (rolled items) ───────── */
.orbis-rpg__gear {
    padding: 1.1rem; margin-top: 0.75rem;
    border: 1px solid var(--rpg-border);
    border-top-color: rgba(73, 230, 255, 0.38);
    border-bottom-color: rgba(255, 56, 211, 0.38);
    background:
        radial-gradient(circle at 80% 0%, rgba(255, 56, 211, 0.12), transparent 34%),
        linear-gradient(135deg, rgba(17, 25, 43, 0.88), rgba(34, 25, 51, 0.78));
}
.orbis-rpg__gear header { margin-bottom: 1rem; }
.orbis-rpg__gear > header p { margin: 0 0 0.35rem; color: var(--rpg-cyan); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.08em; }
.orbis-rpg__gear > header h2 { margin: 0 0 0.35rem; color: #fff; }
.orbis-rpg__gear > header span { color: var(--rpg-muted); }
.orbis-rpg__gear-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; }
.orbis-rpg__gear-card {
    padding: 0.9rem; background: rgba(4, 8, 18, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.1); border-left: 3px solid var(--rar, #b9c2d0);
}
.orbis-rpg__gear-rarity { display: block; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--rar, #b9c2d0); font-weight: 900; }
.orbis-rpg__gear-card h3 { margin: 0.2rem 0 0.55rem; color: #fff; font-size: 1.05rem; }
.orbis-rpg__gear-affixes { list-style: none; margin: 0 0 0.7rem; padding: 0; display: grid; gap: 0.2rem; }
.orbis-rpg__gear-affixes li { color: #cfe9ff; font-size: 0.82rem; }
.orbis-rpg__gear-card.is-equipped { box-shadow: inset 0 0 0 1px var(--rar, #b9c2d0), 0 0 22px -8px var(--rar, #b9c2d0); }
.orbis-rpg__gear-card.is-equipped h3::after { content: ' ✓'; color: #b8ff7a; font-size: 0.85rem; }
.orbis-rpg__gear-card button { width: 100%; margin-top: 0.2rem; }
@media (max-width: 900px) { .orbis-rpg__gear-grid { grid-template-columns: 1fr; } }

.orpg-enc__gear { margin: 4px auto 0; max-width: 380px; padding: 10px 12px; border: 1px solid currentColor; border-radius: 10px; font-weight: 900; }
.orpg-enc__gear span { font-weight: 400; font-size: 0.85em; opacity: 0.9; }

/* ───────── Hero card collection ───────── */
.orbis-rpg__cards {
    padding: 1.1rem; margin-top: 0.75rem;
    border: 1px solid var(--rpg-border);
    border-top-color: rgba(73, 230, 255, 0.38);
    border-bottom-color: rgba(255, 56, 211, 0.38);
    background:
        radial-gradient(circle at 80% 0%, rgba(255, 56, 211, 0.12), transparent 34%),
        linear-gradient(135deg, rgba(17, 25, 43, 0.88), rgba(34, 25, 51, 0.78));
}
.orbis-rpg__cards > header { margin-bottom: 1rem; }
.orbis-rpg__cards > header p { margin: 0 0 0.35rem; color: var(--rpg-cyan); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.08em; }
.orbis-rpg__cards > header h2 { margin: 0 0 0.35rem; color: #fff; }
.orbis-rpg__cards > header span { color: var(--rpg-muted); }
.orbis-rpg__hcard-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.85rem; }
.orbis-rpg__hcard { background: transparent; }
.orbis-rpg__hcard-face { position: relative; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 10px; background: radial-gradient(circle at 50% 40%, #3a3050, #15101f 75%); }
.orbis-rpg__hcard.no-image .orbis-rpg__hcard-face { border: 2px solid var(--rar, #b9c2d0); }
.orbis-rpg__hcard-art {
    position: absolute; left: 50%; top: 48%; width: 32px; height: 32px;
    background-size: 96px 128px; background-position: -32px 0; background-repeat: no-repeat;
    image-rendering: pixelated; transform: translate(-50%, -50%) scale(3.4); transform-origin: center; z-index: 0;
}
.orbis-rpg__hcard-full { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.orbis-rpg__hcard-name {
    display: block; color: #fff; font-weight: 800; font-size: 0.86rem; line-height: 1.15; margin-bottom: 3px;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.orbis-rpg__hcard-lvl {
    position: absolute; top: 3%; right: 5%; z-index: 2; font-size: 0.62rem; font-weight: 900;
    color: #fff; background: rgba(7,11,22,.85); border: 1px solid var(--rar, #b9c2d0); border-radius: 99px; padding: 1px 6px;
}
.orbis-rpg__hcard.is-active .orbis-rpg__hcard-face { box-shadow: 0 0 0 2px var(--rar), 0 0 22px -4px var(--rar); }
.orbis-rpg__hcard-foot { padding: 0.55rem 0.2rem 0; text-align: center; }
.orbis-rpg__hcard-rarity { display: block; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--rar, #b9c2d0); font-weight: 900; }
.orbis-rpg__hcard-stats { display: flex; gap: 5px; justify-content: center; margin: 6px 0; }
.orbis-rpg__hcard-stats span { flex: 1; text-align: center; font-weight: 900; font-size: 0.82rem; padding: 3px 0; border-radius: 6px; color: #fff; }
.orbis-rpg__hcard-stats span:nth-child(1) { background: rgba(255, 90, 90, 0.25); }
.orbis-rpg__hcard-stats span:nth-child(2) { background: rgba(255, 180, 60, 0.25); }
.orbis-rpg__hcard-stats span:nth-child(3) { background: rgba(73, 230, 255, 0.22); }
.orbis-rpg__hcard-foot .orbis-rpg__button { width: 100%; min-height: 36px; }
.orbis-rpg__hcard-stars { display: flex; gap: 1px; justify-content: center; margin: 2px 0 4px; line-height: 1; }
.orbis-rpg__star { color: rgba(255, 255, 255, 0.18); font-size: 0.82rem; }
.orbis-rpg__star.is-on { color: #ffcf45; text-shadow: 0 0 6px rgba(255, 207, 69, 0.6); }
.orbis-rpg__ascend { width: 100%; margin-top: 5px; padding: 5px 0; border: 1px solid var(--rar, #b9c2d0); border-radius: 8px; background: rgba(255, 207, 69, 0.12); color: #ffcf45; font-weight: 800; font-size: 0.74rem; cursor: pointer; }
.orbis-rpg__ascend:disabled { opacity: 0.4; cursor: not-allowed; color: var(--rpg-muted); border-color: rgba(255,255,255,0.12); background: transparent; }
.orbis-rpg__ascend:not(:disabled):hover { background: rgba(255, 207, 69, 0.24); }
.orbis-rpg__hcard-faction { position: absolute; top: 5%; left: 5%; z-index: 2; font-size: 0.6rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.03em; color: #fff; background: var(--fac, #888); border-radius: 99px; padding: 1px 7px; box-shadow: 0 1px 4px rgba(0,0,0,.6); }
.orbis-rpg__hcard.in-team .orbis-rpg__hcard-face { outline: 2px solid var(--rar, #b9c2d0); outline-offset: -2px; }
.orbis-rpg__hcard-btns { display: flex; gap: 5px; }
.orbis-rpg__hcard-btns .orbis-rpg__button { flex: 1; min-height: 32px; font-size: 0.72rem; padding: 0 4px; }
.orbis-rpg__teambtn { flex: 1; min-height: 32px; border: 1px solid rgba(255,255,255,0.18); border-radius: 8px; background: rgba(255,255,255,0.06); color: var(--rpg-text, #e8ecf5); font-weight: 800; font-size: 0.72rem; cursor: pointer; }
.orbis-rpg__teambtn.is-on { background: rgba(73, 230, 255, 0.18); border-color: var(--rpg-cyan, #49e6ff); color: #aef3ff; }
.orbis-rpg__teambtn.is-leader { opacity: 0.5; cursor: default; }
.orbis-rpg__teambtn:not(:disabled):hover { border-color: var(--rpg-cyan, #49e6ff); }

.orbis-rpg__team { margin: 0.6rem 0 0.9rem; padding: 0.7rem 0.85rem; border-radius: 12px; background: rgba(4, 8, 18, 0.45); border: 1px solid rgba(255,255,255,0.07); }
.orbis-rpg__team-head { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; color: var(--rpg-cyan, #49e6ff); margin-bottom: 0.5rem; }
.orbis-rpg__team-row { display: flex; gap: 0.45rem; flex-wrap: wrap; }
.orbis-rpg__team-chip { position: relative; width: 46px; height: 58px; border-radius: 7px; overflow: hidden; border: 2px solid var(--rar, #b9c2d0); background: #15101f; }
.orbis-rpg__team-chip img { width: 100%; height: 100%; object-fit: cover; }
.orbis-rpg__team-sprite { display: block; width: 100%; height: 100%; background-size: 96px 128px; background-position: center; image-rendering: pixelated; }
.orbis-rpg__team-chip i { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--fac, #888); }
.orbis-rpg__team-chip.is-leader { box-shadow: 0 0 0 2px #ffd76a inset; }
.orbis-rpg__syn { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-top: 0.6rem; }
.orbis-rpg__syn-badge { font-size: 0.68rem; font-weight: 800; color: #fff; background: var(--fac, #888); border-radius: 99px; padding: 2px 9px; }
.orbis-rpg__syn-empty { margin-top: 0.55rem; font-size: 0.74rem; color: var(--rpg-muted); }
@media (max-width: 900px) { .orbis-rpg__hcard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.orbis-rpg__card--crystal strong { color: #7fdcff; }
.orbis-rpg__afk { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 1rem; padding: 1.1rem 1.4rem; border: 1px solid rgba(127, 220, 255, 0.25); border-radius: 14px; background: linear-gradient(120deg, rgba(20, 30, 55, 0.6), rgba(40, 25, 70, 0.5)); }
.orbis-rpg__afk p { margin: 0 0 0.2rem; color: var(--rpg-cyan); font-size: 0.74rem; font-weight: 900; letter-spacing: 0.08em; }
.orbis-rpg__afk h2 { margin: 0 0 0.35rem; color: #fff; font-size: 1.15rem; }
.orbis-rpg__afk span { color: var(--rpg-muted); }
.orbis-rpg__afk b { color: #ffd76a; }
.orbis-rpg__summon { margin-top: 1.4rem; }
.orbis-rpg__summon > header p { margin: 0 0 0.35rem; color: var(--rpg-cyan); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.08em; }
.orbis-rpg__summon > header h2 { margin: 0 0 0.35rem; color: #fff; }
.orbis-rpg__summon > header span { color: var(--rpg-muted); display: block; }
.orbis-rpg__featured { display: flex; align-items: center; gap: 0.9rem; margin: 0.4rem 0 0.2rem; padding: 0.7rem 0.9rem; border-radius: 14px; border: 1px solid var(--rar, #ffcf45); background: linear-gradient(120deg, oklch(0.2 0.06 295 / 0.7), oklch(0.16 0.05 90 / 0.4)); box-shadow: 0 0 22px -8px var(--rar, #ffcf45); }
.orbis-rpg__featured img, .orbis-rpg__featured-sprite { width: 60px; height: 78px; border-radius: 8px; object-fit: cover; border: 2px solid var(--rar, #ffcf45); flex: none; }
.orbis-rpg__featured-sprite { background: #15101f center/96px 128px no-repeat; image-rendering: pixelated; }
.orbis-rpg__featured p { margin: 0; color: var(--rpg-gold); font-size: 0.72rem; font-weight: 900; letter-spacing: 0.05em; text-transform: uppercase; }
.orbis-rpg__featured strong { display: block; color: #fff; font-size: 1.1rem; }
.orbis-rpg__featured small { color: var(--rpg-muted); font-size: 0.78rem; }
.orbis-rpg__summon-actions { display: flex; gap: 0.7rem; flex-wrap: wrap; margin: 0.9rem 0; }
.orbis-rpg__button--alt { background: linear-gradient(120deg, #7a3cff, #c46bff); }
.orbis-rpg__summon-reveal { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 0.7rem; margin-top: 0.6rem; }
.orbis-rpg__summon-reveal[hidden] { display: none; }
.orbis-rpg__pull { border: 2px solid var(--rar, #b9c2d0); border-radius: 10px; padding: 0.4rem; text-align: center; background: rgba(4, 8, 18, 0.5); box-shadow: 0 0 16px -6px var(--rar, #b9c2d0); animation: orbisPull 0.45s ease both; }
.orbis-rpg__pull img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 7px; }
.orbis-rpg__pull-sprite { display: block; aspect-ratio: 3 / 4; border-radius: 7px; background-color: #15101f; background-size: 96px 128px; background-position: center; background-repeat: no-repeat; image-rendering: pixelated; }
.orbis-rpg__pull b { display: block; color: #fff; font-size: 0.8rem; margin-top: 0.3rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbis-rpg__pull small { color: var(--rar, #b9c2d0); font-size: 0.66rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.04em; }
@keyframes orbisPull { from { opacity: 0; transform: translateY(10px) scale(0.9); } to { opacity: 1; transform: none; } }

/* ============================================================
   SKIN "REINO ARCANO" — oro + purpura, Cinzel + Sora (solo visual)
   ============================================================ */
@keyframes orbisGlowBreath { 0%, 100% { opacity: 0.4; } 50% { opacity: 0.85; } }
@keyframes orbisDrift { 0% { transform: translateY(0); opacity: 0; } 12% { opacity: 0.6; } 88% { opacity: 0.6; } 100% { transform: translateY(-140px); opacity: 0; } }

/* Capa de estrellas/particulas tenue sobre el fondo */
.orbis-rpg::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 18px;
    pointer-events: none;
    z-index: 0;
    background-image:
        radial-gradient(1.5px 1.5px at 12% 18%, oklch(0.92 0.11 92 / 0.7), transparent 60%),
        radial-gradient(1.5px 1.5px at 78% 12%, oklch(0.8 0.14 305 / 0.65), transparent 60%),
        radial-gradient(1.5px 1.5px at 33% 62%, oklch(0.88 0.12 200 / 0.55), transparent 60%),
        radial-gradient(2px 2px at 64% 48%, oklch(0.92 0.11 92 / 0.6), transparent 60%),
        radial-gradient(1.5px 1.5px at 88% 74%, oklch(0.8 0.14 305 / 0.5), transparent 60%),
        radial-gradient(1.5px 1.5px at 20% 88%, oklch(0.92 0.11 92 / 0.5), transparent 60%);
    animation: orbisGlowBreath 5s ease-in-out infinite;
}
.orbis-rpg > * { position: relative; z-index: 1; }

/* Tipografia: titulos en Cinzel */
.orbis-rpg h1,
.orbis-rpg h2,
.orbis-rpg h3,
.orbis-rpg__card strong,
.orpg-enc__loot h3 {
    font-family: 'Cinzel', Georgia, serif;
    letter-spacing: 0.02em;
}

/* Etiquetas de seccion (los <p>/labels en mayuscula) en oro */
.orbis-rpg__hero p,
.orbis-rpg__daily p,
.orbis-rpg__afk p,
.orbis-rpg__attrs p,
.orbis-rpg__gear > header p,
.orbis-rpg__cards > header p,
.orbis-rpg__summon > header p,
.orbis-rpg__modules span,
.orbis-rpg__card span {
    color: var(--rpg-gold);
    text-shadow: 0 0 14px oklch(0.82 0.12 95 / 0.35);
}
.orbis-rpg__hero h1 { text-shadow: 0 2px 30px oklch(0.7 0.16 300 / 0.5); }

/* Anillo del hero y avatar -> oro/purpura */
.orbis-rpg__hero::after {
    border-color: oklch(0.82 0.12 95 / 0.28);
    filter: drop-shadow(0 0 38px oklch(0.7 0.16 300 / 0.55));
}
.orbis-rpg__avatar img {
    box-shadow: 0 0 0 3px oklch(0.82 0.12 95 / 0.7), 0 0 30px oklch(0.6 0.2 300 / 0.5);
}

/* Barras de progreso -> oro a purpura */
.orbis-rpg__bar { background: oklch(1 0 0 / 0.07); border-radius: 99px; }
.orbis-rpg__bar i {
    background: linear-gradient(90deg, oklch(0.6 0.2 300), oklch(0.82 0.12 95));
    box-shadow: 0 0 16px oklch(0.82 0.12 95 / 0.5);
}

/* Botones dorados con texto oscuro (estilo Reino Arcano) */
.orbis-rpg__button {
    background: linear-gradient(135deg, oklch(0.9 0.12 92), oklch(0.78 0.14 80));
    color: #1a0f2e;
    border-radius: 11px;
    box-shadow: 0 0 24px oklch(0.82 0.12 95 / 0.3), inset 0 1px oklch(1 0 0 / 0.4);
    text-shadow: none;
}
.orbis-rpg__button:hover { filter: brightness(1.07); }
.orbis-rpg__button--alt,
.orbis-rpg__button--unlock {
    background: linear-gradient(135deg, oklch(0.62 0.2 300), oklch(0.5 0.18 295));
    color: #fff;
    box-shadow: 0 0 24px oklch(0.6 0.2 300 / 0.4);
}

/* Cartas: marco con vidrio + brillo por rareza (usa --rar inline) */
.orbis-rpg__hcard-face {
    box-shadow: inset 0 0 0 1px oklch(1 0 0 / 0.08), 0 8px 22px rgba(0, 0, 0, 0.55);
}
.orbis-rpg__hcard.in-team .orbis-rpg__hcard-face { box-shadow: inset 0 0 0 2px var(--rar, #b9c2d0), 0 0 22px -4px var(--rar, #b9c2d0); }
.orbis-rpg__hcard.is-active .orbis-rpg__hcard-face { box-shadow: inset 0 0 0 2px var(--rar), 0 0 26px -2px var(--rar); }
.orbis-rpg__hcard-rarity { text-shadow: 0 0 10px var(--rar, transparent); }

/* Panel de invocacion con aura arcana */
.orbis-rpg__summon {
    border: 1px solid oklch(0.82 0.12 95 / 0.22);
    border-radius: 16px;
    padding: 1.2rem 1.4rem;
    background:
        radial-gradient(90% 120% at 50% 0%, oklch(0.42 0.14 298 / 0.35), transparent 60%),
        linear-gradient(180deg, oklch(0.2 0.055 288 / 0.9), oklch(0.14 0.04 283 / 0.9));
}

/* AFK con tono arcano coherente */
.orbis-rpg__afk {
    border-color: oklch(0.82 0.12 95 / 0.22);
    background: linear-gradient(120deg, oklch(0.22 0.06 290 / 0.7), oklch(0.18 0.06 300 / 0.6));
}
.orbis-rpg__afk b { color: var(--rpg-gold); }

/* Scrollbar acorde */
.orbis-rpg ::-webkit-scrollbar { width: 8px; height: 8px; }
.orbis-rpg ::-webkit-scrollbar-thumb { background: oklch(0.45 0.08 295 / 0.6); border-radius: 9px; }
.orbis-rpg ::-webkit-scrollbar-track { background: transparent; }

/* ============================================================
   RITUAL DE INVOCACION (overlay epico)
   ============================================================ */
.orpg-sm-overlay { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 1rem; background: radial-gradient(circle at 50% 45%, oklch(0.18 0.08 295 / 0.85), oklch(0.04 0.02 280 / 0.97)); backdrop-filter: blur(6px); animation: orpgSmFade 0.3s ease both; font-family: 'Sora', system-ui, sans-serif; }
@keyframes orpgSmFade { from { opacity: 0; } to { opacity: 1; } }
.orpg-sm-stage { position: relative; display: flex; flex-direction: column; align-items: center; width: min(94vw, 760px); }
.orpg-sm-ritual { position: relative; width: 300px; height: 300px; display: flex; align-items: center; justify-content: center; }
.orpg-sm-aura { position: absolute; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, oklch(0.7 0.16 300 / 0.5), transparent 65%); animation: orpgSmAura 2.2s ease-in-out infinite; }
@keyframes orpgSmAura { 0%, 100% { transform: scale(0.85); opacity: 0.5; } 50% { transform: scale(1.1); opacity: 1; } }
.orpg-sm-ring { position: absolute; border-radius: 50%; border: 2px solid; }
.orpg-sm-ring.r1 { width: 280px; height: 280px; border-color: oklch(0.82 0.12 95 / 0.7); border-top-color: transparent; border-bottom-color: transparent; animation: orpgSpin 3.4s linear infinite; }
.orpg-sm-ring.r2 { width: 212px; height: 212px; border-color: oklch(0.7 0.16 300 / 0.8); border-left-color: transparent; border-right-color: transparent; animation: orpgSpin 2.4s linear infinite reverse; }
.orpg-sm-ring.r3 { width: 150px; height: 150px; border: 1px dashed oklch(0.88 0.12 200 / 0.8); animation: orpgSpin 6s linear infinite; }
@keyframes orpgSpin { to { transform: rotate(360deg); } }
.orpg-sm-core { width: 72px; height: 72px; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #fff, oklch(0.82 0.12 95) 45%, oklch(0.6 0.2 300) 100%); box-shadow: 0 0 40px oklch(0.82 0.12 95 / 0.8), 0 0 80px oklch(0.7 0.16 300 / 0.6); animation: orpgCore 1.6s ease-in-out infinite; }
@keyframes orpgCore { 0%, 100% { transform: scale(0.8); } 50% { transform: scale(1.15); } }
.orpg-sm-sparks { position: absolute; inset: -20px; pointer-events: none; }
.orpg-sm-spark { position: absolute; bottom: 14%; width: 4px; height: 4px; border-radius: 50%; background: oklch(0.92 0.11 92); box-shadow: 0 0 8px oklch(0.82 0.12 95); animation: orpgSpark 1.8s ease-in infinite; }
@keyframes orpgSpark { 0% { transform: translateY(0) scale(0.4); opacity: 0; } 20% { opacity: 1; } 100% { transform: translateY(-160px) scale(1); opacity: 0; } }
.orpg-sm-flash { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 50% 45%, #fff, transparent 60%); opacity: 0; }
@keyframes orpgSmFlash { 0% { opacity: 0; } 30% { opacity: 0.95; } 100% { opacity: 0; } }
.orpg-sm-status { margin-top: 1.4rem; font-family: 'Cinzel', serif; font-weight: 700; font-size: clamp(1.1rem, 3vw, 1.7rem); color: oklch(0.92 0.11 92); text-shadow: 0 0 18px oklch(0.82 0.12 95 / 0.6); letter-spacing: 0.04em; text-align: center; }
.orpg-sm-cards { display: flex; flex-wrap: wrap; gap: 0.7rem; justify-content: center; margin-top: 1.2rem; max-width: 730px; }
.orpg-sm-card { width: 116px; border-radius: 12px; padding: 0.4rem; background: oklch(0.14 0.04 283 / 0.92); border: 2px solid var(--rar, #b9c2d0); box-shadow: 0 0 22px -4px var(--rar, #b9c2d0); text-align: center; opacity: 0; transform: translateY(18px) scale(0.85); animation: orpgCardIn 0.5s cubic-bezier(.2,.8,.2,1) both; }
@keyframes orpgCardIn { to { opacity: 1; transform: none; } }
.orpg-sm-cardin img, .orpg-sm-sprite { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 8px; }
.orpg-sm-sprite { background-color: #15101f; background-size: 96px 128px; background-position: center; background-repeat: no-repeat; image-rendering: pixelated; }
.orpg-sm-card b { display: block; color: #fff; font-size: 0.78rem; margin-top: 0.3rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orpg-sm-card small { color: var(--rar, #b9c2d0); font-size: 0.64rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.04em; }
.orpg-sm-close { margin-top: 1.4rem; }
.orpg-sm-stage.is-burst .orpg-sm-ring { animation-duration: 0.6s; }
.orpg-sm-stage.rar-epico .orpg-sm-core { box-shadow: 0 0 50px oklch(0.7 0.16 300 / 0.9), 0 0 120px oklch(0.7 0.16 300 / 0.6); }
.orpg-sm-stage.rar-legendario .orpg-sm-aura,
.orpg-sm-stage.rar-mitico .orpg-sm-aura { background: radial-gradient(circle, oklch(0.85 0.14 95 / 0.7), transparent 65%); }
.orpg-sm-stage.rar-legendario .orpg-sm-core,
.orpg-sm-stage.rar-mitico .orpg-sm-core { box-shadow: 0 0 70px oklch(0.85 0.14 95 / 0.95), 0 0 160px oklch(0.82 0.14 305 / 0.7); }
.orpg-sm-stage.is-error .orpg-sm-core { background: radial-gradient(circle, #ff8a8a, #6b1a1a); box-shadow: 0 0 30px rgba(255,80,80,0.6); animation: none; }

/* ============================================================
   CAMPANAS
   ============================================================ */
.orbis-rpg__campaigns > header p { margin: 0 0 0.35rem; color: var(--rpg-gold); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.orbis-rpg__campaigns > header h2 { margin: 0 0 0.3rem; color: #fff; }
.orbis-rpg__campaigns > header span { color: var(--rpg-muted); display: block; margin-bottom: 0.9rem; }
.orbis-rpg__camp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 0.85rem; }
.orbis-rpg__camp { display: flex; flex-direction: column; gap: 0.4rem; padding: 0.7rem; border-radius: 14px; border: 1px solid oklch(1 0 0 / 0.08); background: linear-gradient(180deg, oklch(0.2 0.055 288 / 0.92), oklch(0.14 0.04 283 / 0.92)); }
.orbis-rpg__camp.is-complete { border-color: oklch(0.82 0.12 95 / 0.5); }
.orbis-rpg__camp.is-locked { opacity: 0.55; filter: grayscale(0.5); }
.orbis-rpg__camp .orpg-scene { height: 96px; border-radius: 10px; background-size: cover; background-position: center; image-rendering: pixelated; box-shadow: inset 0 -30px 40px -20px #0b0916; }
.orbis-rpg__camp h3 { margin: 0.2rem 0 0; color: #fff; font-size: 1.05rem; }
.orbis-rpg__camp span { color: var(--rpg-muted); font-size: 0.78rem; }
.orbis-rpg__camp .orbis-rpg__bar { height: 7px; }
.orbis-rpg__camp .orbis-rpg__button { margin-top: 0.3rem; }

/* Misiones diarias */
.orbis-rpg__daily-missions { margin-top: 1.1rem; }
.orbis-rpg__daily-missions > header p { margin: 0 0 0.35rem; color: var(--rpg-gold); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.orbis-rpg__daily-missions > header h2 { margin: 0 0 0.3rem; color: #fff; }
.orbis-rpg__daily-missions > header span { color: var(--rpg-muted); display: block; margin-bottom: 0.9rem; }
.orbis-rpg__dm-grid { display: grid; gap: 0.6rem; }
.orbis-rpg__dm { display: flex; align-items: center; gap: 1rem; justify-content: space-between; padding: 0.7rem 1rem; border-radius: 12px; border: 1px solid oklch(1 0 0 / 0.08); background: oklch(0.16 0.05 285 / 0.7); }
.orbis-rpg__dm.is-done { opacity: 0.65; }
.orbis-rpg__dm > div { flex: 1; min-width: 0; }
.orbis-rpg__dm strong { display: block; color: #fff; font-size: 0.95rem; }
.orbis-rpg__dm small { color: var(--rpg-muted); font-size: 0.78rem; }
.orbis-rpg__dm .orbis-rpg__bar { height: 6px; margin-top: 0.4rem; max-width: 320px; }
.orbis-rpg__dm .orbis-rpg__button { min-height: 38px; white-space: nowrap; }
.orbis-rpg__dm--bonus { border-color: oklch(0.82 0.12 95 / 0.45); background: linear-gradient(120deg, oklch(0.24 0.07 295 / 0.7), oklch(0.2 0.06 90 / 0.4)); }

/* Arena PvP */
.orbis-rpg__arena > header p { margin: 0 0 0.35rem; color: var(--rpg-gold); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.orbis-rpg__arena > header h2 { margin: 0 0 0.3rem; color: #fff; }
.orbis-rpg__arena > header span { color: var(--rpg-muted); display: block; margin-bottom: 0.9rem; }
.orbis-rpg__arena-head { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.7rem; margin-bottom: 0.9rem; }
.orbis-rpg__arena-head article { padding: 0.8rem; border-radius: 12px; border: 1px solid oklch(1 0 0 / 0.08); background: oklch(0.16 0.05 285 / 0.7); text-align: center; }
.orbis-rpg__arena-head span { color: var(--rpg-muted); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; }
.orbis-rpg__arena-head strong { display: block; color: var(--rpg-gold); font-size: 1.7rem; font-family: 'Cinzel', serif; }
.orbis-rpg__arena-head small { color: var(--rpg-muted); font-size: 0.72rem; }
.orbis-rpg__arena-opps { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0.7rem; }
.orbis-rpg__opp { padding: 0.8rem; border-radius: 12px; border: 1px solid oklch(1 0 0 / 0.1); background: oklch(0.18 0.05 288 / 0.7); display: flex; flex-direction: column; gap: 0.25rem; }
.orbis-rpg__opp-tier { font-size: 0.64rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.05em; color: var(--rpg-arcane, #a96bff); }
.orbis-rpg__opp strong { color: #fff; }
.orbis-rpg__opp small { color: var(--rpg-muted); font-size: 0.78rem; }
.orbis-rpg__opp .orbis-rpg__button { margin-top: 0.4rem; }
.orbis-rpg__arena-top { margin-top: 1.1rem; }
.orbis-rpg__arena-top h3 { color: #fff; font-family: 'Cinzel', serif; margin: 0 0 0.5rem; }
.orbis-rpg__arena-top ol { list-style: none; margin: 0; padding: 0; counter-reset: rk; }
.orbis-rpg__arena-top li { counter-increment: rk; display: flex; align-items: center; gap: 0.6rem; padding: 0.45rem 0.7rem; border-radius: 8px; }
.orbis-rpg__arena-top li::before { content: counter(rk); width: 24px; text-align: center; font-weight: 900; color: var(--rpg-gold); }
.orbis-rpg__arena-top li span { flex: 1; color: var(--rpg-text); }
.orbis-rpg__arena-top li b { color: var(--rpg-gold); }
.orbis-rpg__arena-top li.is-me { background: oklch(0.7 0.16 300 / 0.18); }

/* Recurso fragmentos */
.orbis-rpg__card--shard strong { color: #c9a3ff; }
.orbis-rpg__energy-buy { margin-top: 0.4rem; padding: 3px 10px; border: 1px solid oklch(0.82 0.12 95 / 0.4); border-radius: 8px; background: oklch(0.82 0.12 95 / 0.12); color: var(--rpg-gold, #ffcf45); font-weight: 800; font-size: 0.7rem; cursor: pointer; }
.orbis-rpg__energy-buy:hover { background: oklch(0.82 0.12 95 / 0.22); }
.orbis-rpg__energy-buy:disabled { opacity: 0.5; cursor: default; }

/* ============================================================
   INVENTARIO ESTILO VIDEOJUEGO (rejilla de slots)
   ============================================================ */
.orbis-rpg__inventory-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(62px, 1fr)); gap: 0.5rem; }
.orbis-rpg__slot { position: relative; aspect-ratio: 1; border-radius: 10px; border: 2px solid oklch(1 0 0 / 0.1); background: radial-gradient(circle at 50% 32%, oklch(0.24 0.05 285 / 0.9), oklch(0.12 0.04 283 / 0.95)); display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; overflow: hidden; transition: transform 0.1s ease, box-shadow 0.1s ease; }
.orbis-rpg__slot:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,0,0,0.45); }
.orbis-rpg__slot img { width: 100%; height: 100%; object-fit: cover; image-rendering: pixelated; }
.orbis-rpg__slot-glyph { font-size: 1.6rem; color: #fff; opacity: 0.92; }
.orbis-rpg__slot-qty { position: absolute; right: 3px; bottom: 2px; font-size: 0.7rem; font-weight: 900; color: #fff; text-shadow: 0 1px 3px #000; background: oklch(0.06 0.03 280 / 0.72); border-radius: 6px; padding: 0 4px; }
.orbis-rpg__slot-eq { position: absolute; left: 3px; top: 2px; font-size: 0.58rem; font-weight: 900; color: #1a0f2e; background: #8fe388; border-radius: 5px; padding: 0 4px; }
.orbis-rpg__slot.is-comun { border-color: #9fb0c6; }
.orbis-rpg__slot.is-raro { border-color: #49a0ff; box-shadow: inset 0 0 12px -4px #49a0ff; }
.orbis-rpg__slot.is-epico { border-color: #a96bff; box-shadow: inset 0 0 14px -4px #a96bff; }
.orbis-rpg__slot.is-legendario { border-color: #ffcf45; box-shadow: inset 0 0 16px -4px #ffcf45; }
.orbis-rpg__slot.is-mitico { border-color: #ff5c8a; box-shadow: inset 0 0 16px -3px #ff5c8a; }
.orbis-rpg__slot.is-equipped::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 2px #8fe388; border-radius: 8px; pointer-events: none; }
.orbis-rpg__slot.is-empty { cursor: default; background: oklch(0.1 0.03 283 / 0.5); border-style: dashed; border-color: oklch(1 0 0 / 0.06); }
.orbis-rpg__slot.is-empty:hover { transform: none; box-shadow: none; }

.orpg-item-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 1rem; background: oklch(0.04 0.02 280 / 0.85); backdrop-filter: blur(5px); animation: orpgSmFade 0.2s ease both; font-family: 'Sora', system-ui, sans-serif; }
.orpg-im { position: relative; width: min(92vw, 360px); padding: 1.4rem; border-radius: 16px; text-align: center; border: 1px solid oklch(1 0 0 / 0.12); background: linear-gradient(180deg, oklch(0.2 0.055 288 / 0.97), oklch(0.13 0.04 283 / 0.97)); box-shadow: 0 30px 80px rgba(0,0,0,0.6); }
.orpg-im.is-raro { border-color: #49a0ff; } .orpg-im.is-epico { border-color: #a96bff; } .orpg-im.is-legendario { border-color: #ffcf45; } .orpg-im.is-mitico { border-color: #ff5c8a; }
.orpg-im-x { position: absolute; top: 0.5rem; right: 0.7rem; background: none; border: 0; color: #fff; font-size: 1.5rem; cursor: pointer; line-height: 1; }
.orpg-im-icon { width: 84px; height: 84px; margin: 0 auto 0.6rem; border-radius: 12px; display: flex; align-items: center; justify-content: center; background: oklch(0.14 0.04 283 / 0.9); border: 1px solid oklch(1 0 0 / 0.1); overflow: hidden; }
.orpg-im-icon img { width: 100%; height: 100%; object-fit: cover; }
.orpg-im-icon .orbis-rpg__slot-glyph { font-size: 2.4rem; }
.orpg-im h3 { font-family: 'Cinzel', serif; color: #fff; margin: 0 0 0.5rem; }
.orpg-im-tags { display: flex; gap: 0.4rem; justify-content: center; flex-wrap: wrap; margin-bottom: 0.7rem; }
.orpg-im-tags span { font-size: 0.68rem; font-weight: 800; text-transform: uppercase; padding: 2px 8px; border-radius: 99px; background: oklch(1 0 0 / 0.08); color: #fff; }
.orpg-im-tags .rar { color: var(--rpg-gold, #ffcf45); }
.orpg-im-eff { color: var(--rpg-gold, #ffcf45); font-size: 0.86rem; margin: 0 0 0.4rem; }
.orpg-im-desc { color: var(--rpg-muted); font-size: 0.82rem; margin: 0 0 0.9rem; }
.orpg-im-actions { display: flex; gap: 0.5rem; justify-content: center; flex-wrap: wrap; }

/* Panel de equipamiento (slots por parte del cuerpo) */
.orbis-rpg__equip { display: grid; grid-template-columns: repeat(7, minmax(50px, 1fr)); gap: 0.5rem; margin-bottom: 1.1rem; }
.orbis-rpg__eq-slot { position: relative; aspect-ratio: 1; border-radius: 10px; border: 2px solid oklch(1 0 0 / 0.1); background: radial-gradient(circle at 50% 30%, oklch(0.24 0.05 285 / 0.9), oklch(0.12 0.04 283 / 0.95)); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; cursor: default; padding: 0; transition: transform 0.1s ease; }
.orbis-rpg__eq-slot.is-filled { cursor: pointer; border-color: var(--rar, #fff); box-shadow: inset 0 0 14px -4px var(--rar, #fff); }
.orbis-rpg__eq-slot.is-filled:hover { transform: translateY(-2px); }
.orbis-rpg__eq-slot.is-empty { border-style: dashed; opacity: 0.55; }
.orbis-rpg__eq-ico { font-size: 1.5rem; line-height: 1; color: #fff; }
.orbis-rpg__eq-slot.is-empty .orbis-rpg__eq-ico { color: var(--rpg-muted); }
.orbis-rpg__eq-slot small { font-size: 0.54rem; text-transform: uppercase; letter-spacing: 0.02em; color: var(--rpg-muted); }
.orbis-rpg__gear-subhead { color: var(--rpg-muted); font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.06em; margin: 0.4rem 0 0.55rem; }

/* Reliquias activas (objetos equipados desde el inventario) */
.orbis-rpg__relics { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 0.6rem; margin-bottom: 1rem; }
.orbis-rpg__relic { display: flex; align-items: center; gap: 0.6rem; text-align: left; padding: 0.5rem 0.7rem; border-radius: 10px; border: 2px solid var(--rar, #9fb0c6); background: oklch(0.16 0.05 285 / 0.7); cursor: pointer; }
.orbis-rpg__relic:hover { background: oklch(0.2 0.06 288 / 0.8); }
.orbis-rpg__relic.is-raro { border-color: #49a0ff; } .orbis-rpg__relic.is-epico { border-color: #a96bff; } .orbis-rpg__relic.is-legendario { border-color: #ffcf45; } .orbis-rpg__relic.is-mitico { border-color: #ff5c8a; }
.orbis-rpg__relic-ico { flex: none; width: 42px; height: 42px; border-radius: 8px; display: flex; align-items: center; justify-content: center; background: oklch(0.12 0.04 283 / 0.9); overflow: hidden; }
.orbis-rpg__relic-ico img { width: 100%; height: 100%; object-fit: cover; }
.orbis-rpg__relic-ico .orbis-rpg__slot-glyph { font-size: 1.3rem; color: #fff; }
.orbis-rpg__relic-info { min-width: 0; }
.orbis-rpg__relic-info strong { display: block; color: #fff; font-size: 0.86rem; }
.orbis-rpg__relic-info small { display: block; color: var(--rpg-gold); font-size: 0.74rem; }
@media (max-width: 620px) { .orbis-rpg__equip { grid-template-columns: repeat(4, 1fr); } }

/* Tienda de cartas (fragmentos) */
.orbis-rpg__cardshop { margin-top: 1.2rem; }
.orbis-rpg__cardshop > header p { margin: 0 0 0.35rem; color: var(--rpg-gold); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.orbis-rpg__cardshop > header h2 { margin: 0 0 0.3rem; color: #fff; }
.orbis-rpg__cardshop > header span { color: var(--rpg-muted); display: block; margin-bottom: 0.9rem; }
.orbis-rpg__sc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 0.7rem; }
.orbis-rpg__sc { border: 1px solid var(--rar, #888); border-radius: 12px; padding: 0.5rem; text-align: center; background: oklch(0.16 0.05 285 / 0.7); }
.orbis-rpg__sc img, .orbis-rpg__sc-sprite { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 8px; }
.orbis-rpg__sc-sprite { background: #15101f center/96px 128px no-repeat; image-rendering: pixelated; }
.orbis-rpg__sc strong { display: block; color: #fff; font-size: 0.84rem; margin-top: 0.3rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orbis-rpg__sc small { color: var(--rar, #b9c2d0); font-size: 0.66rem; font-weight: 900; text-transform: uppercase; }
.orbis-rpg__sc .orbis-rpg__button { width: 100%; min-height: 34px; margin-top: 0.4rem; font-size: 0.76rem; }

/* Ficha de carta (modal) */
.orpg-cardmodal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 1rem; background: oklch(0.04 0.02 280 / 0.88); backdrop-filter: blur(6px); animation: orpgSmFade 0.25s ease both; font-family: 'Sora', system-ui, sans-serif; }
.orpg-cm { position: relative; display: flex; gap: 1.2rem; flex-wrap: wrap; max-width: 620px; width: 100%; padding: 1.4rem; border-radius: 16px; border: 1px solid var(--rar, #888); background: linear-gradient(180deg, oklch(0.2 0.055 288 / 0.97), oklch(0.13 0.04 283 / 0.97)); box-shadow: 0 30px 80px rgba(0,0,0,0.6), 0 0 40px -10px var(--rar, #888); }
.orpg-cm-x { position: absolute; top: 0.6rem; right: 0.8rem; background: none; border: 0; color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.orpg-cm-art { flex: 0 0 180px; }
.orpg-cm-art img, .orpg-cm-sprite { display: block; width: 180px; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 12px; border: 2px solid var(--rar, #888); }
.orpg-cm-sprite { background: #15101f center/96px 128px no-repeat; image-rendering: pixelated; }
.orpg-cm-info { flex: 1; min-width: 220px; }
.orpg-cm-info h3 { font-family: 'Cinzel', serif; color: #fff; margin: 0 0 0.5rem; font-size: 1.5rem; }
.orpg-cm-tags { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-bottom: 0.5rem; }
.orpg-cm-tags span { font-size: 0.68rem; font-weight: 800; text-transform: uppercase; padding: 2px 8px; border-radius: 99px; background: oklch(1 0 0 / 0.08); color: #fff; }
.orpg-cm-stars { color: #ffcf45; margin-bottom: 0.6rem; letter-spacing: 2px; }
.orpg-cm-stars span { color: rgba(255,255,255,0.2); }
.orpg-cm-stars span.on { color: #ffcf45; }
.orpg-cm-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.4rem; margin-bottom: 0.8rem; }
.orpg-cm-stats span { display: flex; justify-content: space-between; padding: 0.3rem 0.6rem; border-radius: 8px; background: oklch(1 0 0 / 0.05); color: var(--rpg-muted); font-size: 0.82rem; }
.orpg-cm-stats b { color: #fff; }
.orpg-cm-ability { color: var(--rpg-text); font-size: 0.86rem; margin: 0 0 0.5rem; }
.orpg-cm-ability strong { color: var(--rpg-gold); }
.orpg-cm-lore { color: var(--rpg-muted); font-style: italic; font-size: 0.84rem; margin: 0; }
.orbis-rpg__hcard { cursor: pointer; }

/* ============================================================
   MINIJUEGOS DE TRABAJOS (forja / mineria / pesca)
   ============================================================ */
.orpg-job-overlay { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 1rem; background: radial-gradient(circle at 50% 40%, oklch(0.16 0.06 290 / 0.85), oklch(0.04 0.02 280 / 0.96)); backdrop-filter: blur(6px); animation: orpgSmFade 0.25s ease both; font-family: 'Sora', system-ui, sans-serif; }
.orpg-job-stage { position: relative; width: min(94vw, 1040px); max-height: 94vh; overflow-y: auto; border-radius: 18px; padding: clamp(1.2rem, 3vw, 2.6rem); text-align: center; border: 1px solid var(--jc, #ffcf45); background: linear-gradient(180deg, oklch(0.2 0.055 288 / 0.96), oklch(0.13 0.04 283 / 0.96)); box-shadow: 0 30px 80px rgba(0,0,0,0.6), 0 0 50px -16px var(--jc, #ffcf45); }
.orpg-job-stage::before { content: ""; position: absolute; inset: -40% -10% auto -10%; height: 70%; background: radial-gradient(circle, var(--jc, #ffcf45), transparent 70%); opacity: 0.16; pointer-events: none; }
.orpg-job-stage h3 { font-family: 'Cinzel', serif; color: #fff; margin: 0 0 0.2rem; font-size: clamp(1.4rem, 3vw, 2.3rem); }
.orpg-job-sub { color: var(--rpg-muted); margin: 0 0 1.1rem; font-size: clamp(0.88rem, 1.6vw, 1.1rem); }
.orpg-job-arena { position: relative; min-height: clamp(200px, 42vh, 460px); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; }
.orpg-job-score { margin-top: 1rem; font-family: 'Cinzel', serif; color: var(--jc, #ffcf45); font-size: clamp(1.1rem, 2.2vw, 1.6rem); }
.orpg-job-loading { color: var(--rpg-muted); font-size: 1rem; }

/* Forja: barra de timing */
.orpg-job-track { position: relative; width: 100%; max-width: 420px; height: 26px; border-radius: 99px; background: oklch(1 0 0 / 0.08); overflow: hidden; border: 1px solid oklch(1 0 0 / 0.12); }
.orpg-job-zone { position: absolute; left: 38%; width: 24%; top: 0; bottom: 0; background: linear-gradient(90deg, transparent, var(--jc, #ffcf45), transparent); opacity: 0.6; }
.orpg-job-marker { position: absolute; top: -3px; bottom: -3px; left: 0; width: 5px; border-radius: 4px; background: #fff; box-shadow: 0 0 10px #fff; transform: translateX(-50%); }
.orpg-job-spark { position: absolute; top: 50%; width: 8px; height: 8px; border-radius: 50%; background: var(--jc, #ffcf45); box-shadow: 0 0 12px var(--jc, #ffcf45); transform: translate(-50%, -50%); animation: orpgJobSpark 0.4s ease-out forwards; }
@keyframes orpgJobSpark { from { opacity: 1; transform: translate(-50%, -50%) scale(0.5); } to { opacity: 0; transform: translate(-50%, -50%) scale(2.4); } }

/* Mineria: cristal */
.orpg-job-crystal { position: relative; width: 130px; height: 130px; border: 0; cursor: pointer; background: linear-gradient(135deg, #8ff0ff, #49e6ff 45%, #6b8cff); clip-path: polygon(50% 0, 100% 38%, 80% 100%, 20% 100%, 0 38%); box-shadow: 0 0 30px oklch(0.72 0.13 215 / 0.7); transition: transform 0.06s ease; }
.orpg-job-crystal.hit { animation: orpgJobShake 0.12s ease; }
@keyframes orpgJobShake { 0%,100% { transform: scale(1); } 50% { transform: scale(0.92) rotate(-2deg); } }
.orpg-job-shard { position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; background: #c9f6ff; box-shadow: 0 0 8px #8ff0ff; pointer-events: none; animation: orpgPart 0.5s ease-out forwards; }

/* Pesca */
.orpg-job-pond { width: 100%; max-width: 360px; height: 150px; border-radius: 14px; background: linear-gradient(180deg, #1a3a5a, #0c2236); display: flex; align-items: center; justify-content: center; box-shadow: inset 0 0 40px rgba(0,0,0,0.5); }
.orpg-job-bob { min-width: 160px; padding: 1rem; border: 0; border-radius: 12px; background: oklch(0.3 0.06 250 / 0.8); color: #fff; font-weight: 800; font-size: 1.1rem; cursor: pointer; }
.orpg-job-bob.bite { background: linear-gradient(135deg, #ffcf45, #ff8a5c); color: #1a0f2e; animation: orpgJobShake 0.18s ease infinite; }

/* Reveal */
.orpg-job-result { position: absolute; inset: 0; z-index: 4; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 1.4rem; background: oklch(0.06 0.03 280 / 0.92); backdrop-filter: blur(3px); animation: orpgSmFade 0.3s ease both; }
.orpg-job-result[hidden] { display: none !important; }
.orpg-job-result h4 { font-family: 'Cinzel', serif; color: var(--jc, #ffcf45); font-size: 1.6rem; margin: 0; text-shadow: 0 0 18px var(--jc, #ffcf45); }
.orpg-job-loot { display: flex; gap: 0.7rem; flex-wrap: wrap; justify-content: center; }
.orpg-job-rw { min-width: 92px; padding: 0.7rem; border-radius: 12px; background: oklch(0.18 0.05 288 / 0.8); border: 1px solid oklch(1 0 0 / 0.1); animation: orpgCardIn 0.4s ease both; }
.orpg-job-rw b { display: block; font-size: 1.3rem; color: #fff; font-family: 'Cinzel', serif; }
.orpg-job-rw span { font-size: 0.72rem; color: var(--rpg-muted); text-transform: uppercase; letter-spacing: 0.04em; }
.orpg-job-rw.coins b { color: #ffd76a; }
.orpg-job-rw.xp b { color: #8fe388; }
.orpg-job-rw.cry b { color: #7fdcff; }
.orpg-job-rw.item b { color: #c9a3ff; font-size: 1rem; }

/* ============================================================
   ARENA DE BATALLA (carta vs carta)
   ============================================================ */
.orpg-bt-overlay { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; background: oklch(0.04 0.02 280 / 0.9); backdrop-filter: blur(5px); animation: orpgSmFade 0.3s ease both; font-family: 'Sora', system-ui, sans-serif; }
.orpg-bt-stage { position: relative; width: min(97vw, 1680px); min-height: min(78vh, 820px); max-height: 96vh; overflow-y: auto; border-radius: 18px; padding: clamp(1rem, 2.4vw, 2.4rem); display: flex; flex-direction: column; justify-content: center; background-size: cover; background-position: center; image-rendering: pixelated; box-shadow: 0 30px 90px rgba(0,0,0,0.6); }
.orpg-bt-stage::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, oklch(0.08 0.04 285 / 0.5), oklch(0.06 0.03 280 / 0.82)); }
.orpg-bt-arena { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; }
.orpg-bt-side { display: flex; flex-direction: row; gap: 0.55rem; align-items: center; }
.orpg-bt-side.left { justify-content: flex-start; padding-left: clamp(0.5rem, 4vw, 3.5rem); }
.orpg-bt-side.right { justify-content: flex-end; padding-right: clamp(0.5rem, 4vw, 3.5rem); }
.orpg-bt-col { display: flex; flex-direction: column; gap: 0.55rem; align-items: center; justify-content: center; }
.orpg-bt-col.is-inner { transform: translateY(30px); } /* fila interna escalonada (formacion) */
@media (max-width: 640px) { .orpg-bt-side { gap: 0.3rem; } .orpg-bt-col { gap: 0.35rem; } .orpg-bt-col.is-inner { transform: translateY(20px); } }
.orpg-bt-vs { font-family: 'Cinzel', serif; font-weight: 800; font-size: 1.9rem; color: var(--rpg-gold); text-shadow: 0 0 16px oklch(0.82 0.12 95 / 0.7); }
.orpg-bt-unit { position: relative; width: 150px; text-align: center; transition: transform 0.18s ease; }
.orpg-bt-art { position: relative; width: 150px; aspect-ratio: 3 / 4; border-radius: 12px; overflow: hidden; border: 2px solid var(--rar, #b9c2d0); background: #15101f; box-shadow: 0 6px 16px rgba(0,0,0,0.5); }
.orpg-bt-art img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.orpg-bt-sprite { display: block; width: 100%; height: 100%; background-size: 96px 128px; background-position: center; background-repeat: no-repeat; image-rendering: pixelated; }
.orpg-bt-unit b { display: block; color: #fff; font-size: 0.94rem; margin-top: 0.3rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 0 1px 3px #000; }
.orpg-bt-hp { height: 10px; margin-top: 6px; border-radius: 99px; background: oklch(1 0 0 / 0.14); overflow: hidden; }
.orpg-bt-hp i { display: block; height: 100%; background: linear-gradient(90deg, #34e3c4, #10b981); transition: width 0.25s ease; }
.orpg-bt-side.right .orpg-bt-hp i { background: linear-gradient(90deg, #ff7676, #dc2626); }
.orpg-bt-unit.atk-r { transform: translateX(22px) scale(1.06); z-index: 3; }
.orpg-bt-unit.atk-l { transform: translateX(-22px) scale(1.06); z-index: 3; }
.orpg-bt-unit.hit .orpg-bt-art { animation: orpgBtShake 0.3s ease; box-shadow: 0 0 0 2px #ff5a5a, 0 0 18px #ff5a5a; }
@keyframes orpgBtShake { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
.orpg-bt-unit.dead { opacity: 0.25; filter: grayscale(1); transform: scale(0.9); }
.orpg-bt-dmg { position: absolute; top: 2px; left: 50%; transform: translateX(-50%); font-family: 'Cinzel', serif; font-weight: 800; font-size: 1.45rem; color: #ff9a9a; text-shadow: 0 0 3px #000, 0 2px 5px #000, 0 0 12px rgba(255,90,90,0.7); -webkit-text-stroke: 1px rgba(0,0,0,0.55); animation: orpgBtDmg 1s ease-out forwards; pointer-events: none; z-index: 4; white-space: nowrap; }
.orpg-bt-dmg.crit { font-size: 2rem; color: #ffd76a; text-shadow: 0 0 4px #000, 0 2px 6px #000, 0 0 18px rgba(255,207,69,0.85); }
@keyframes orpgBtDmg { 0% { opacity: 0; transform: translate(-50%, 10px) scale(0.6); } 22% { opacity: 1; transform: translate(-50%, -12px) scale(1.3); } 45% { transform: translate(-50%, -22px) scale(1); } 100% { opacity: 0; transform: translate(-50%, -60px) scale(0.95); } }
.orpg-bt-status { position: relative; text-align: center; margin-top: 1.2rem; font-family: 'Cinzel', serif; font-size: 1.4rem; color: var(--rpg-gold); transition: opacity 0.5s ease; }
.orpg-bt-skip { position: absolute; right: 1.1rem; bottom: 1.1rem; }
.orpg-bt-ctrl { position: absolute; left: 1.1rem; bottom: 1.1rem; display: flex; gap: 0.4rem; align-items: center; z-index: 5; }
.orpg-bt-spd { padding: 4px 10px; border: 1px solid oklch(1 0 0 / 0.18); border-radius: 8px; background: oklch(0.12 0.04 285 / 0.8); color: var(--rpg-muted, #b9c2d0); font-weight: 800; font-size: 0.78rem; cursor: pointer; }
.orpg-bt-spd.is-on { background: linear-gradient(135deg, oklch(0.9 0.12 92), oklch(0.78 0.14 80)); color: #1a0f2e; }
.orpg-bt-auto { display: flex; align-items: center; gap: 4px; color: #fff; font-size: 0.78rem; font-weight: 700; cursor: pointer; }
.orpg-bt-actions { display: flex; gap: 0.6rem; flex-wrap: wrap; justify-content: center; }
.orpg-bt-result { position: absolute; inset: 0; z-index: 6; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.8rem; background: oklch(0.05 0.03 280 / 0.84); backdrop-filter: blur(3px); animation: orpgSmFade 0.4s ease both; text-align: center; padding: 1rem; }
.orpg-bt-result[hidden] { display: none !important; }

/* ============================================================
   PESTANAS (reduce el scroll: una seccion a la vez)
   ============================================================ */
.orbis-rpg__tabs { position: sticky; top: 0; z-index: 30; display: flex; gap: 0.4rem; flex-wrap: wrap; margin: 0 0 1.1rem; padding: 0.5rem; border-radius: 14px; background: oklch(0.12 0.04 285 / 0.92); backdrop-filter: blur(12px); border: 1px solid oklch(1 0 0 / 0.08); box-shadow: 0 10px 30px rgba(0,0,0,0.35); }
.orbis-rpg__tab { flex: 1 1 auto; min-width: 88px; padding: 0.6rem 1rem; border: 0; border-radius: 10px; background: transparent; color: var(--rpg-muted); font-family: 'Cinzel', serif; font-weight: 700; font-size: 0.95rem; letter-spacing: 0.03em; cursor: pointer; transition: background 0.15s ease, color 0.15s ease; }
.orbis-rpg__tab.is-active { background: linear-gradient(135deg, oklch(0.9 0.12 92), oklch(0.78 0.14 80)); color: #1a0f2e; box-shadow: 0 0 18px oklch(0.82 0.12 95 / 0.3); }
.orbis-rpg__tab:not(.is-active):hover { color: #fff; background: oklch(1 0 0 / 0.06); }
.orbis-rpg__hero { min-height: 190px !important; }
.orbis-rpg__play { display: block !important; }
.orbis-rpg__play > section { margin-bottom: 0.9rem; }
.orpg-bt-result h3 { font-family: 'Cinzel', serif; font-size: clamp(1.8rem, 6vw, 3rem); margin: 0; }
.orpg-bt-result h3.win { color: var(--rpg-gold); text-shadow: 0 0 24px oklch(0.82 0.12 95 / 0.7); }
.orpg-bt-result h3.lose { color: #ff7676; }
.orpg-bt-reward { color: #fff; font-size: 1rem; line-height: 1.6; }
/* Roles, energia, ultis, facciones */
.orpg-bt-role { position: absolute; top: 3px; left: 3px; z-index: 3; font-size: 0.5rem; font-weight: 900; letter-spacing: 0.02em; color: #fff; background: rgba(8, 6, 20, 0.8); border-radius: 5px; padding: 1px 5px; }
.orpg-bt-unit.is-tank .orpg-bt-role { color: #8fd0ff; }
.orpg-bt-unit.is-support .orpg-bt-role { color: #8fe3a0; }
.orpg-bt-unit.is-mage .orpg-bt-role { color: #c9a3ff; }
.orpg-bt-unit.is-boss .orpg-bt-role { color: #1a0f2e; background: #ffcf45; }
.orpg-bt-unit.is-boss { width: 230px; }
.orpg-bt-unit.is-boss .orpg-bt-art { width: 230px; aspect-ratio: 3 / 4; border-color: #ffcf45; box-shadow: 0 0 24px oklch(0.82 0.12 95 / 0.6); }
.orpg-bt-cd { height: 6px; margin-top: 3px; border-radius: 99px; background: oklch(1 0 0 / 0.1); overflow: hidden; }
.orpg-bt-cd i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #ffcf45, #ff8a5c); }
.orpg-bt-cd.ready i { box-shadow: 0 0 10px #ffcf45; filter: brightness(1.3); }
.orpg-bt-en { height: 4px; margin-top: 3px; border-radius: 99px; background: oklch(1 0 0 / 0.12); overflow: hidden; }
.orpg-bt-en i { display: block; height: 100%; background: linear-gradient(90deg, #49e6ff, #a96bff); transition: width 0.25s ease; }
.orpg-bt-unit.cast { transform: scale(1.08); z-index: 3; }
.orpg-bt-unit.ult .orpg-bt-art { box-shadow: 0 0 0 2px #ffcf45, 0 0 28px #ffcf45; }
.orpg-bt-dmg.heal { color: #76ff9a; text-shadow: 0 0 3px #000, 0 2px 5px #000, 0 0 12px rgba(70, 230, 120, 0.7); }
.orpg-bt-dmg.ult { color: #ffe08a; }
.orpg-bt-dmg.eff::after { content: ' \25B2'; font-size: 0.65em; color: #76ff9a; }
.orpg-bt-dmg.weak::after { content: ' \25BC'; font-size: 0.65em; color: #9aa7bd; }
.orpg-bt-particle { position: absolute; left: 50%; top: 45%; width: 6px; height: 6px; border-radius: 50%; background: #ff9a6b; box-shadow: 0 0 6px #ff9a6b; pointer-events: none; z-index: 5; animation: orpgPart 0.6s ease-out forwards; }
.orpg-bt-particle.crit { background: #ffd76a; box-shadow: 0 0 8px #ffd76a; width: 7px; height: 7px; }
.orpg-bt-particle.ult { background: #ffe08a; box-shadow: 0 0 12px #ffcf45; width: 9px; height: 9px; }
@keyframes orpgPart { from { transform: translate(-50%, -50%) scale(1); opacity: 1; } to { transform: translate(calc(-50% + var(--dx, 0px)), calc(-50% + var(--dy, 0px))) scale(0.4); opacity: 0; } }
@media (max-width: 1100px) { .orpg-bt-unit, .orpg-bt-art { width: 112px; } .orpg-bt-unit.is-boss, .orpg-bt-unit.is-boss .orpg-bt-art { width: 168px; } .orpg-bt-unit b { font-size: 0.84rem; } }
@media (max-width: 720px) { .orpg-bt-unit, .orpg-bt-art { width: 80px; } .orpg-bt-unit.is-boss, .orpg-bt-unit.is-boss .orpg-bt-art { width: 116px; } .orpg-bt-unit b { font-size: 0.74rem; } .orpg-bt-stage { min-height: 60vh; padding: 0.9rem; } .orpg-bt-dmg { font-size: 1.2rem; } .orpg-bt-dmg.crit { font-size: 1.6rem; } }

/* ============================================================
   FULL-WIDTH solo en la pagina del RPG (id 214): sin sidebar
   ============================================================ */
body.page-id-214 #secondary { display: none !important; }
body.page-id-214 .site-sub-header,
body.page-id-214 .entry-header-title,
body.page-id-214 .breadcrumbs,
body.page-id-214 .buddyx-breadcrumbs { display: none !important; }
body.page-id-214 .site-wrapper {
    display: block !important;
    max-width: none !important;
    width: 100% !important;
    padding-left: clamp(0.6rem, 2vw, 2rem) !important;
    padding-right: clamp(0.6rem, 2vw, 2rem) !important;
}
body.page-id-214 .site-main,
body.page-id-214 .content-area,
body.page-id-214 .entry-content,
body.page-id-214 article.page {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Full-bleed real: la app ocupa todo el ancho del viewport aunque el tema constrina */
body.page-id-214 { overflow-x: hidden; }
body.page-id-214 .orbis-rpg {
    max-width: none !important;
    width: auto !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: clamp(0.8rem, 3vw, 3rem) !important;
    padding-right: clamp(0.8rem, 3vw, 3rem) !important;
    border-radius: 0 !important;
}
body.page-id-214 .orbis-rpg::before { border-radius: 0 !important; }

@media (max-width: 1100px) {
    .orbis-rpg__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ============ GAME SHELL (pantalla de titulo, audio, juice) ============ */

/* Pantalla de inicio epica */
.orpg-boot {
    position: fixed; inset: 0; z-index: 99999;
    display: flex; align-items: center; justify-content: center;
    background: radial-gradient(circle at 50% 38%, oklch(0.28 0.09 300 / 1), oklch(0.1 0.04 290) 60%, #05030a 100%);
    overflow: hidden; opacity: 0; transition: opacity 0.6s ease;
}
.orpg-boot.ready { opacity: 1; }
.orpg-boot.go { opacity: 0; transform: scale(1.08); transition: opacity 0.9s ease, transform 0.9s ease; }
.orpg-boot-embers { position: absolute; inset: 0; pointer-events: none; }
.orpg-boot-ember {
    position: absolute; bottom: -20px; width: 5px; height: 5px; border-radius: 50%;
    background: radial-gradient(circle, oklch(0.9 0.16 90), oklch(0.7 0.18 60 / 0));
    animation: orpgEmber linear infinite; opacity: 0.8;
}
@keyframes orpgEmber {
    0% { transform: translateY(0) scale(0.6); opacity: 0; }
    15% { opacity: 0.9; }
    100% { transform: translateY(-105vh) scale(1.3); opacity: 0; }
}
.orpg-boot-inner { position: relative; text-align: center; padding: 1rem; animation: orpgBootRise 1s cubic-bezier(.2,.8,.2,1) both; }
@keyframes orpgBootRise { 0% { transform: translateY(26px); opacity: 0; } 100% { transform: translateY(0); opacity: 1; } }
.orpg-boot-rune {
    font-size: 3.4rem; color: oklch(0.86 0.13 92);
    text-shadow: 0 0 30px oklch(0.82 0.16 92 / 0.9); animation: orpgRune 3.5s ease-in-out infinite; margin-bottom: 0.4rem;
}
@keyframes orpgRune { 0%,100% { transform: rotate(0) scale(1); opacity: 0.85; } 50% { transform: rotate(180deg) scale(1.18); opacity: 1; } }
.orpg-boot-title {
    font-family: 'Cinzel', serif; font-weight: 800; letter-spacing: 0.06em; line-height: 1;
    font-size: clamp(2.6rem, 8vw, 5.4rem); margin: 0;
    background: linear-gradient(180deg, oklch(0.95 0.08 95), oklch(0.78 0.16 88) 55%, oklch(0.6 0.18 60));
    -webkit-background-clip: text; background-clip: text; color: transparent;
    filter: drop-shadow(0 4px 18px oklch(0.7 0.18 70 / 0.55));
}
.orpg-boot-title span { display: block; font-size: 0.34em; letter-spacing: 0.5em; color: oklch(0.8 0.13 300); -webkit-text-fill-color: oklch(0.8 0.13 300); margin-top: 0.5rem; }
.orpg-boot-sub { color: oklch(0.82 0.05 300); margin: 0.8rem 0 1.8rem; font-family: 'Sora', sans-serif; letter-spacing: 0.08em; }
.orpg-boot-enter {
    font-family: 'Cinzel', serif; font-weight: 700; font-size: 1.15rem; cursor: pointer;
    padding: 0.85rem 2.4rem; border-radius: 999px; color: #1a0f02;
    background: linear-gradient(180deg, oklch(0.92 0.1 95), oklch(0.78 0.16 85));
    border: 1px solid oklch(0.95 0.06 95); box-shadow: 0 0 0 0 oklch(0.85 0.16 90 / 0.6), 0 8px 26px oklch(0.5 0.18 70 / 0.45);
    animation: orpgEnterPulse 1.8s ease-in-out infinite; transition: transform 0.15s ease;
}
.orpg-boot-enter:hover { transform: translateY(-2px) scale(1.04); }
@keyframes orpgEnterPulse {
    0%,100% { box-shadow: 0 0 0 0 oklch(0.85 0.16 90 / 0.55), 0 8px 26px oklch(0.5 0.18 70 / 0.4); }
    50% { box-shadow: 0 0 0 12px oklch(0.85 0.16 90 / 0), 0 8px 30px oklch(0.5 0.18 70 / 0.6); }
}

/* Transicion al cambiar de pestana */
.orpg-tab-in { animation: orpgTabIn 0.4s cubic-bezier(.2,.8,.2,1) both; }
@keyframes orpgTabIn { 0% { opacity: 0; transform: translateY(14px) scale(0.99); } 100% { opacity: 1; transform: none; } }

/* Screen shake en combate */
.orpg-shake { animation: orpgShake 0.34s cubic-bezier(.36,.07,.19,.97); }
@keyframes orpgShake {
    10% { transform: translate(calc(var(--shk, 6px) * -1), 2px); }
    25% { transform: translate(var(--shk, 6px), -2px); }
    40% { transform: translate(calc(var(--shk, 6px) * -0.7), -1px); }
    55% { transform: translate(calc(var(--shk, 6px) * 0.6), 2px); }
    70% { transform: translate(calc(var(--shk, 6px) * -0.4), -1px); }
    100% { transform: translate(0, 0); }
}

/* Toasts / notificaciones */
.orpg-toast-host { position: fixed; top: 16px; left: 50%; transform: translateX(-50%); z-index: 99998; display: flex; flex-direction: column; gap: 8px; align-items: center; pointer-events: none; }
.orpg-toast {
    font-family: 'Sora', sans-serif; font-weight: 600; font-size: 0.92rem; color: #fff;
    padding: 0.6rem 1.1rem; border-radius: 999px; background: oklch(0.22 0.05 300 / 0.94);
    border: 1px solid oklch(0.7 0.1 300 / 0.5); box-shadow: 0 8px 24px oklch(0.1 0.05 300 / 0.5);
    opacity: 0; transform: translateY(-14px) scale(0.95); transition: opacity 0.35s ease, transform 0.35s cubic-bezier(.2,.8,.2,1);
    backdrop-filter: blur(8px);
}
.orpg-toast.show { opacity: 1; transform: none; }
.orpg-toast.is-good { border-color: oklch(0.8 0.14 95 / 0.7); color: oklch(0.92 0.1 95); }
.orpg-toast.is-epic { border-color: oklch(0.75 0.18 300 / 0.8); color: oklch(0.88 0.14 300); box-shadow: 0 0 22px oklch(0.7 0.18 300 / 0.5); }

/* Control de audio flotante */
.orpg-audioctl { position: fixed; right: 14px; bottom: 14px; z-index: 99990; display: flex; gap: 6px; }
.orpg-audioctl button {
    width: 40px; height: 40px; border-radius: 50%; cursor: pointer; font-size: 1.1rem; line-height: 1;
    background: oklch(0.22 0.05 300 / 0.9); border: 1px solid oklch(0.7 0.1 300 / 0.5); color: #fff;
    box-shadow: 0 4px 14px oklch(0.1 0.05 300 / 0.5); transition: transform 0.15s ease;
}
.orpg-audioctl button:hover { transform: scale(1.1); }
.orpg-audioctl button.is-off { opacity: 0.4; filter: grayscale(1); }

@media (prefers-reduced-motion: reduce) {
    .orpg-boot-ember, .orpg-boot-rune, .orpg-boot-enter, .orpg-shake, .orpg-motes span, .orpg-bt-art { animation: none !important; }
}

/* ============ HUD persistente ============ */
.orpg-hud {
    position: fixed; top: 12px; left: 50%; transform: translateX(-50%); z-index: 9000;
    display: flex; align-items: center; gap: 0.4rem; padding: 0.35rem 0.6rem 0.35rem 0.4rem;
    background: linear-gradient(180deg, oklch(0.24 0.06 300 / 0.94), oklch(0.16 0.05 295 / 0.94));
    border: 1px solid oklch(0.7 0.1 300 / 0.45); border-radius: 999px;
    box-shadow: 0 8px 26px oklch(0.08 0.04 300 / 0.55), inset 0 1px 0 oklch(1 0 0 / 0.08);
    backdrop-filter: blur(10px); font-family: 'Sora', sans-serif; max-width: 94vw;
}
.orpg-hud-crest { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #1a0f02; font-size: 0.95rem;
    background: radial-gradient(circle at 35% 30%, oklch(0.95 0.08 95), oklch(0.74 0.16 80)); box-shadow: 0 0 12px oklch(0.8 0.16 85 / 0.6); }
.orpg-hud-stat { display: flex; align-items: center; gap: 0.28rem; padding: 0.1rem 0.55rem; color: #fff; font-size: 0.92rem; white-space: nowrap; }
.orpg-hud-stat + .orpg-hud-stat { border-left: 1px solid oklch(1 0 0 / 0.12); }
.orpg-hud-stat b { font-weight: 700; }
.orpg-hud-stat small { opacity: 0.6; font-size: 0.78em; }
.orpg-hud-ico { font-size: 0.95rem; }
.orpg-hud-ico.coin { color: oklch(0.85 0.14 90); }
.orpg-hud-ico.cry { color: oklch(0.8 0.15 300); }
.orpg-hud-ico.en { color: oklch(0.82 0.14 200); }
.orpg-hud-ico.lv { color: oklch(0.88 0.06 95); }
.orpg-hud-ico.shard { color: oklch(0.78 0.13 25); }
.orpg-hud-ico.seal { color: oklch(0.85 0.16 95); }
@media (max-width: 560px) { .orpg-hud-stat .orpg-hud-ico.shard, .orpg-hud-stat .orpg-hud-ico.seal { font-size: 0.85rem; } }

/* Dock: 4 primarios + Más */
.orpg-dock-hidden { display: none !important; }
.orpg-more { position: fixed; inset: 0; z-index: 9500; background: rgba(5,5,12,0.6); display: flex; align-items: flex-end; justify-content: center; }
.orpg-more[hidden] { display: none; }
.orpg-more-sheet { width: 100%; max-width: 720px; background: linear-gradient(180deg, #1a1430, #0e0a1c); border: 1px solid oklch(1 0 0 / 0.12); border-bottom: none; border-radius: 18px 18px 0 0; padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom)); box-shadow: 0 -10px 40px -10px rgba(0,0,0,0.8); animation: orpgMoreIn 0.25s ease; }
@keyframes orpgMoreIn { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
.orpg-more-head { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; color: #9aa3b2; text-align: center; margin-bottom: 0.7rem; }
.orpg-more-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 0.6rem; }
.orpg-more-item { display: flex; flex-direction: column; align-items: center; gap: 0.35rem; padding: 0.9rem 0.4rem; border-radius: 14px; background: oklch(0.18 0.04 285 / 0.7); border: 1px solid oklch(1 0 0 / 0.1); color: #e9ecf3; font-size: 0.78rem; font-weight: 700; cursor: pointer; }
.orpg-more-item span { font-size: 1.5rem; }
.orpg-more-item:hover { background: oklch(0.24 0.06 290 / 0.8); transform: translateY(-2px); }
.orpg-more-item { position: relative; }
.orpg-more-item.has-badge::after { content: ""; position: absolute; top: 8px; right: 10px; width: 10px; height: 10px; border-radius: 50%; background: #ff4d6d; box-shadow: 0 0 8px #ff4d6d; }
.orpg-dock-more.is-active { color: #fff; }
@media (prefers-reduced-motion: reduce) { .orpg-more-sheet { animation: none; } }

/* ===== Skin videojuego (F3): glow dock, etiquetas, sheen, marcos ===== */
.orbis-rpg.orpg-game .orpg-dock .orbis-rpg__tab.is-active { text-shadow: 0 0 10px oklch(0.85 0.16 300 / 0.8); }
.orbis-rpg.orpg-game .orpg-dock .orbis-rpg__tab.is-active .orpg-dock-ico { filter: drop-shadow(0 0 8px oklch(0.8 0.16 300 / 0.9)); }
.orbis-rpg.orpg-game .orpg-stage [data-tab] > header > p { text-shadow: 0 0 14px oklch(0.85 0.14 95 / 0.45); letter-spacing: 0.14em; }
.orbis-rpg.orpg-game .orbis-rpg__button { position: relative; overflow: hidden; }
.orbis-rpg.orpg-game .orbis-rpg__button::after { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(100deg, transparent, oklch(1 0 0 / 0.28), transparent); transform: skewX(-18deg); transition: left 0.5s ease; pointer-events: none; }
.orbis-rpg.orpg-game .orbis-rpg__button:hover::after { left: 130%; }
/* Aura de rareza en cartas de héroe (combate/colección) */
.orbis-rpg.orpg-game .is-mitico, .orbis-rpg.orpg-game .rar-4 { box-shadow: 0 0 18px -4px oklch(0.78 0.18 350 / 0.7); }
.orbis-rpg.orpg-game .is-legendario, .orbis-rpg.orpg-game .rar-3 { box-shadow: 0 0 16px -5px oklch(0.85 0.15 80 / 0.65); }
@media (prefers-reduced-motion: reduce) { .orbis-rpg.orpg-game .orbis-rpg__button::after { display: none; } }

/* Ciudad: sub-navegación por chips */
.orpg-city-nav { display: flex; gap: 0.45rem; overflow-x: auto; padding: 0.2rem 0 0.8rem; margin-bottom: 0.6rem; scrollbar-width: none; border-bottom: 1px solid oklch(1 0 0 / 0.08); }
.orpg-city-nav::-webkit-scrollbar { display: none; }
.orpg-city-nav button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 0.35rem; cursor: pointer; font-size: 0.76rem; font-weight: 700; color: #cdd3e0; background: oklch(0.2 0.05 290 / 0.6); border: 1px solid oklch(0.6 0.1 300 / 0.3); padding: 0.4rem 0.7rem; border-radius: 999px; white-space: nowrap; }
.orpg-city-nav button span { font-size: 1rem; }
.orpg-city-nav button:hover { background: oklch(0.28 0.08 295 / 0.85); color: #fff; }

/* Batalla: pantalla-hub propia */
.orpg-bhub-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.8rem; margin-top: 0.8rem; }
.orpg-bhub { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; cursor: pointer; padding: 1.3rem 0.8rem; border-radius: 16px; background: linear-gradient(160deg, oklch(0.22 0.06 290 / 0.8), oklch(0.14 0.04 290 / 0.7)); border: 1px solid oklch(0.6 0.1 300 / 0.35); color: #fff; text-align: center; transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease; }
.orpg-bhub span { font-size: 2.4rem; line-height: 1; filter: drop-shadow(0 3px 8px oklch(0.1 0.05 300 / 0.7)); }
.orpg-bhub b { font-size: 1.05rem; margin-top: 0.2rem; }
.orpg-bhub small { font-size: 0.74rem; color: #b6bdcc; }
.orpg-bhub:hover { transform: translateY(-3px); border-color: oklch(0.75 0.14 300 / 0.7); box-shadow: 0 10px 26px -10px oklch(0.6 0.18 300 / 0.7); }

/* Marcos de carta estilo videojuego (F8) */
.orbis-rpg.orpg-game .orbis-rpg__hcard { position: relative; }
.orbis-rpg.orpg-game .orbis-rpg__hcard.is-comun { outline: 1.5px solid oklch(0.7 0.02 285 / 0.45); outline-offset: -1.5px; }
.orbis-rpg.orpg-game .orbis-rpg__hcard.is-raro,
.orbis-rpg.orpg-game .orbis-rpg__hcard.is-epico,
.orbis-rpg.orpg-game .orbis-rpg__hcard.is-legendario,
.orbis-rpg.orpg-game .orbis-rpg__hcard.is-mitico { outline: 2px solid var(--rar, #888); outline-offset: -2px; }
.orbis-rpg.orpg-game .orbis-rpg__hcard.is-epico,
.orbis-rpg.orpg-game .orbis-rpg__hcard.is-legendario,
.orbis-rpg.orpg-game .orbis-rpg__hcard.is-mitico { box-shadow: 0 0 18px -6px var(--rar, #000); }
.orbis-rpg.orpg-game .orbis-rpg__hcard.is-epico::after,
.orbis-rpg.orpg-game .orbis-rpg__hcard.is-legendario::after,
.orbis-rpg.orpg-game .orbis-rpg__hcard.is-mitico::after {
    content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 3;
    background: linear-gradient(115deg, transparent 38%, oklch(1 0 0 / 0.16) 50%, transparent 62%);
    background-size: 250% 250%; animation: orpgHolo 4.5s ease-in-out infinite;
}
@keyframes orpgHolo { 0% { background-position: 100% 0; } 100% { background-position: 0 100%; } }
.orbis-rpg.orpg-game .orpg-bt-art { outline: 2px solid var(--rar, #888); outline-offset: -2px; }
@media (prefers-reduced-motion: reduce) { .orbis-rpg.orpg-game .orbis-rpg__hcard::after { animation: none; } }

/* Nebulosa (F9): se añade al fondo base del contenedor más abajo (sin tocar ::after que es la viñeta) */

/* Batalla: sub-hub de combate */
.orpg-combat-hub { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1rem; }
.orpg-combat-hub button { display: inline-flex; align-items: center; gap: 0.4rem; cursor: pointer; font-size: 0.82rem; font-weight: 700; color: #e9ecf3; background: oklch(0.2 0.05 290 / 0.7); border: 1px solid oklch(0.6 0.1 300 / 0.35); padding: 0.5rem 0.9rem; border-radius: 999px; }
.orpg-combat-hub button span { font-size: 1.05rem; }
.orpg-combat-hub button:hover { background: oklch(0.28 0.08 295 / 0.85); transform: translateY(-2px); border-color: oklch(0.7 0.12 300 / 0.6); }

/* ===== Hub estilo maqueta: paneles + portales ===== */
.orpg-hub-top { display: grid; grid-template-columns: 1.15fr 1fr; gap: 0.8rem; margin-bottom: 0.9rem; }
@media (max-width: 620px) { .orpg-hub-top { grid-template-columns: 1fr; } }
.orpg-hub-panel { border-radius: 16px; padding: 1rem; border: 1px solid oklch(1 0 0 / 0.1); }
.orpg-hub-leader { display: flex; align-items: flex-end; gap: 0.9rem; background: linear-gradient(160deg, oklch(0.3 0.12 300 / 0.55), oklch(0.16 0.06 300 / 0.5)); }
.orpg-hub-featured { display: flex; flex-direction: column; gap: 0.5rem; background: linear-gradient(160deg, oklch(0.3 0.1 230 / 0.5), oklch(0.16 0.06 250 / 0.5)); }
.orpg-hub-featured > small, .orpg-hub-leader .orpg-hub-meta small { font-size: 0.62rem; letter-spacing: 0.12em; color: #b9c2d0; font-weight: 800; }
.orpg-hub-card { width: 66px; height: 88px; border-radius: 10px; overflow: hidden; border: 2px solid var(--rar, #6be5ff); background: #0e0a1c; box-shadow: 0 0 14px -4px var(--rar, #000); flex: 0 0 auto; }
.orpg-hub-card.sm { width: 50px; height: 66px; }
.orpg-hub-card img, .orpg-hub-sprite { width: 100%; height: 100%; object-fit: cover; background-size: cover; background-position: center; display: block; }
.orpg-hub-meta { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.orpg-hub-meta b { color: #fff; font-size: 1.05rem; line-height: 1.1; }
.orpg-hub-meta span { font-size: 0.74rem; color: #cbd2e0; display: flex; align-items: center; gap: 0.35rem; }
.orpg-hub-live { width: 8px; height: 8px; border-radius: 50%; background: #5fcf7a; box-shadow: 0 0 6px #5fcf7a; animation: orpgClaimPulse 1.6s ease-in-out infinite; }
.orpg-hub-featrow { display: flex; align-items: center; gap: 0.6rem; }
.orpg-hub-fmeta b { color: #fff; font-size: 0.95rem; display: block; }
.orpg-hub-fmeta span { font-size: 0.72rem; color: #cbd2e0; }
.orpg-hub-featured .orbis-rpg__button { width: 100%; min-height: 38px; }
.orpg-hub-portals { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.7rem; margin-bottom: 1rem; }
.orpg-portal { display: flex; flex-direction: column; gap: 0.2rem; text-align: left; cursor: pointer; padding: 0.9rem 1rem; border-radius: 14px; background: oklch(0.18 0.04 290 / 0.6); border: 1px solid oklch(0.6 0.1 300 / 0.3); color: #e9ecf3; transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease; }
.orpg-portal:hover { transform: translateY(-3px); border-color: oklch(0.75 0.14 300 / 0.65); box-shadow: 0 10px 24px -10px oklch(0.6 0.18 300 / 0.6); }
.orpg-portal-ico { font-size: 1.7rem; line-height: 1; }
.orpg-portal b { font-size: 1rem; color: #fff; }
.orpg-portal small { font-size: 0.72rem; color: #a9b1c2; }

/* Hub: tira de recompensas listas */
.orpg-home-claims { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 0.9rem; }
.orpg-home-claim { display: inline-flex; align-items: center; gap: 0.4rem; cursor: pointer; font-size: 0.82rem; font-weight: 700; color: #0a2a1e; background: linear-gradient(90deg, #5fcf7a, #6be5ff); border: none; padding: 0.45rem 0.8rem; border-radius: 999px; box-shadow: 0 0 16px -4px #5fcf7a; animation: orpgClaimPulse 1.8s ease-in-out infinite; }
.orpg-home-claim span { font-size: 1rem; }
.orpg-home-claim i { font-style: normal; font-size: 1.1rem; }
@keyframes orpgClaimPulse { 50% { box-shadow: 0 0 24px -2px #6be5ff; } }
@media (prefers-reduced-motion: reduce) { .orpg-home-claim { animation: none; } }
.orpg-hud-stat b.bump { animation: orpgBump 0.5s ease; }
@keyframes orpgBump { 0% { transform: scale(1); } 35% { transform: scale(1.35); color: oklch(0.92 0.14 95); } 100% { transform: scale(1); } }
/* Evitar que la barra de admin de WordPress tape el HUD */
body.admin-bar .orpg-hud { top: 44px; }
@media screen and (max-width: 782px) { body.admin-bar .orpg-hud { top: 52px; } }
@media (max-width: 600px) { .orpg-hud { gap: 0.15rem; padding: 0.25rem 0.4rem; } .orpg-hud-stat { padding: 0.1rem 0.35rem; font-size: 0.82rem; } }

/* ============ Subida de nivel ============ */
.orpg-levelup { position: fixed; inset: 0; z-index: 99996; display: grid; place-items: center; pointer-events: none; opacity: 0; transition: opacity 0.4s ease; }
.orpg-levelup.show { opacity: 1; }
.orpg-lu-rays { position: absolute; width: 120vmax; height: 120vmax;
    background: repeating-conic-gradient(from 0deg, oklch(0.85 0.16 90 / 0.18) 0deg 8deg, transparent 8deg 16deg);
    animation: orpgSpin 9s linear infinite; }
.orpg-levelup.show .orpg-lu-rays { animation: orpgSpin 9s linear infinite, orpgRayPop 0.6s ease; }
@keyframes orpgSpin { to { transform: rotate(360deg); } }
@keyframes orpgRayPop { 0% { transform: scale(0.3); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
.orpg-lu-card { position: relative; text-align: center; transform: scale(0.6); transition: transform 0.5s cubic-bezier(.2,1.4,.4,1); }
.orpg-levelup.show .orpg-lu-card { transform: scale(1); }
.orpg-lu-tag { display: block; font-family: 'Cinzel', serif; letter-spacing: 0.3em; color: oklch(0.9 0.06 95); font-size: 1rem; }
.orpg-lu-num { font-family: 'Cinzel', serif; font-weight: 800; font-size: clamp(4rem, 16vw, 9rem); line-height: 1;
    background: linear-gradient(180deg, oklch(0.97 0.07 95), oklch(0.76 0.17 80)); -webkit-background-clip: text; background-clip: text; color: transparent;
    filter: drop-shadow(0 0 24px oklch(0.8 0.18 80 / 0.7)); }

/* ============ Juice de combate (zoom + flash de ulti, aura de carga) ============ */
.orpg-bt-stage.orpg-ultzoom .orpg-bt-arena { animation: orpgUltZoom 0.44s ease; }
@keyframes orpgUltZoom { 0% { transform: scale(1); } 35% { transform: scale(1.06); } 100% { transform: scale(1); } }
.orpg-ult-flash { position: absolute; inset: 0; pointer-events: none; z-index: 4;
    background: radial-gradient(circle at 50% 50%, oklch(1 0 0 / 0.55), transparent 60%); animation: orpgFlash 0.38s ease forwards; }
@keyframes orpgFlash { 0% { opacity: 0; } 20% { opacity: 1; } 100% { opacity: 0; } }
.orpg-bt-unit.charged .orpg-bt-en i { box-shadow: 0 0 8px oklch(0.85 0.16 90), 0 0 4px oklch(0.9 0.14 95); animation: orpgCharge 0.9s ease-in-out infinite; }
@keyframes orpgCharge { 0%,100% { filter: brightness(1); } 50% { filter: brightness(1.5); } }

/* Idle: las cartas "respiran" en combate */
.orpg-bt-unit:not(.dead) .orpg-bt-art { animation: orpgIdle 3.4s ease-in-out infinite; }
.orpg-bt-unit:nth-child(even) .orpg-bt-art { animation-delay: -1.2s; }
.orpg-bt-col.is-inner .orpg-bt-art { animation-delay: -2s; }
@keyframes orpgIdle { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }

/* Auras por faccion */
.orpg-bt-unit.fac-luz .orpg-bt-art { box-shadow: 0 0 16px oklch(0.85 0.13 95 / 0.45); }
.orpg-bt-unit.fac-sombra .orpg-bt-art { box-shadow: 0 0 16px oklch(0.6 0.18 300 / 0.5); }
.orpg-bt-unit.fac-bestia .orpg-bt-art { box-shadow: 0 0 16px oklch(0.7 0.16 140 / 0.45); }
.orpg-bt-unit.fac-arcano .orpg-bt-art { box-shadow: 0 0 16px oklch(0.72 0.15 230 / 0.5); }

/* ============ Mundo vivo: motas magicas ============ */
.orpg-motes { position: fixed; inset: 0; z-index: 600; pointer-events: none; mix-blend-mode: screen; overflow: hidden; }
.orpg-motes span { position: absolute; width: var(--sz, 3px); height: var(--sz, 3px); border-radius: 50%;
    background: radial-gradient(circle, oklch(0.9 0.12 90 / 0.9), oklch(0.8 0.14 300 / 0)); animation: orpgMote linear infinite; }
@keyframes orpgMote {
    0% { transform: translate(0, 0); opacity: 0; }
    10% { opacity: 0.7; }
    50% { transform: translate(22px, -40px); opacity: 0.5; }
    90% { opacity: 0.6; }
    100% { transform: translate(-18px, -80px); opacity: 0; }
}

/* ============ Tooltips de carta ============ */
.orpg-tip { position: fixed; z-index: 99997; pointer-events: none; min-width: 130px; max-width: 220px;
    padding: 0.5rem 0.7rem; border-radius: 12px; font-family: 'Sora', sans-serif;
    background: oklch(0.18 0.05 300 / 0.96); border: 1px solid oklch(0.7 0.1 300 / 0.5);
    box-shadow: 0 10px 28px oklch(0.06 0.04 300 / 0.6); backdrop-filter: blur(8px);
    opacity: 0; transform: translateY(6px); transition: opacity 0.16s ease, transform 0.16s ease; }
.orpg-tip.show { opacity: 1; transform: none; }
.orpg-tip b { display: block; font-family: 'Cinzel', serif; font-size: 1rem; margin-bottom: 0.15rem; }
.orpg-tip span { display: block; color: oklch(0.82 0.04 300); font-size: 0.8rem; }
.orpg-tip i { display: block; color: oklch(0.7 0.03 300); font-size: 0.76rem; font-style: normal; margin-top: 0.2rem; }

/* ============ VIEWPORT DE VIDEOJUEGO (estructura tipo cliente de juego) ============ */
body.orpg-gamemode { overflow: hidden; }
body.orpg-gamemode .orpg-hud { display: none; }
body.orpg-gamemode .orpg-audioctl { bottom: auto; top: 8px; right: 10px; z-index: 700; }
body.admin-bar.orpg-gamemode .orpg-audioctl { top: 40px; }

.orbis-rpg.orpg-game {
    position: fixed; inset: 0; z-index: 500; max-width: none; width: auto; margin: 0; padding: 0; border-radius: 0;
    /* overflow: clip (NO hidden): el pseudo ::before (campo de estrellas, inset:-25%) crea
       scrollWidth mayor que el ancho; con 'hidden' el contenedor era scrollable y un focus/
       scrollIntoView lo desplazaba ~135px en horizontal (toda la pantalla corrida a la izq,
       título cortado). 'clip' impide cualquier scroll (scrollLeft siempre 0). El scroll
       vertical del contenido lo maneja un hijo interno, así que no se rompe. */
    display: flex; flex-direction: column; overflow: clip;
    background:
        radial-gradient(42% 34% at 22% 26%, oklch(0.34 0.16 300 / 0.55), transparent 70%),
        radial-gradient(36% 30% at 82% 74%, oklch(0.32 0.14 210 / 0.45), transparent 70%),
        radial-gradient(circle at 50% -10%, oklch(0.22 0.08 300), #0b0916 68%);
}
body.admin-bar .orbis-rpg.orpg-game { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar .orbis-rpg.orpg-game { top: 46px; } }
.orbis-rpg.orpg-game::before {
    content: ""; position: absolute; z-index: 0; inset: -25%; pointer-events: none; opacity: 0.55;
    background-image:
        radial-gradient(1px 1px at 20% 30%, oklch(0.95 0.05 300 / 0.8), transparent 60%),
        radial-gradient(1px 1px at 72% 62%, oklch(0.9 0.1 200 / 0.7), transparent 60%),
        radial-gradient(1.6px 1.6px at 41% 82%, oklch(0.95 0.12 90 / 0.6), transparent 60%),
        radial-gradient(1px 1px at 86% 22%, oklch(0.9 0.07 300 / 0.7), transparent 60%),
        radial-gradient(1px 1px at 55% 12%, oklch(0.95 0.05 200 / 0.6), transparent 60%);
    background-size: 620px 620px, 520px 520px, 720px 720px, 460px 460px, 560px 560px;
    animation: orpgStars 90s linear infinite;
}
@keyframes orpgStars { to { transform: translateY(-260px); } }
@media (prefers-reduced-motion: reduce) { .orbis-rpg.orpg-game::before { animation: none; } }
.orbis-rpg.orpg-game > * { position: relative; z-index: 1; }
.orbis-rpg.orpg-game .orbis-rpg__hero.orpg-hide { display: none; }
/* Wrapper que queda vacio tras mover sus secciones al escenario (contents = no genera caja pero no oculta hijos) */
.orbis-rpg.orpg-game > .orbis-rpg__play { display: contents; }

/* Barra superior de recursos */
.orbis-rpg.orpg-game .orpg-topbar {
    display: flex; flex-wrap: nowrap; gap: 0.45rem; align-items: stretch; grid-template-columns: none;
    padding: 0.5rem 0.7rem; overflow-x: auto; flex: 0 0 auto; scrollbar-width: none;
    background: linear-gradient(180deg, oklch(0.18 0.05 295 / 0.96), oklch(0.12 0.04 295 / 0.92));
    border-bottom: 1px solid oklch(0.7 0.1 300 / 0.3); box-shadow: 0 4px 18px oklch(0.05 0.03 300 / 0.5);
}
.orbis-rpg.orpg-game .orpg-topbar::-webkit-scrollbar { display: none; }
.orbis-rpg.orpg-game .orpg-topbar .orbis-rpg__card {
    flex: 0 0 auto; margin: 0; padding: 0.3rem 0.7rem; gap: 0; min-height: 0;
    background: oklch(0.26 0.05 300 / 0.6); border: 1px solid oklch(0.6 0.08 300 / 0.3); border-radius: 12px; text-align: left;
    display: flex; flex-direction: column; justify-content: center;
}
.orbis-rpg.orpg-game .orpg-topbar .orbis-rpg__card span { font-size: 0.6rem; opacity: 0.6; margin: 0; }
.orbis-rpg.orpg-game .orpg-topbar .orbis-rpg__card strong { font-size: 1.05rem; line-height: 1.1; }
.orbis-rpg.orpg-game .orpg-topbar .orbis-rpg__card small { display: none; }
.orbis-rpg.orpg-game .orpg-topbar .orbis-rpg__profile { flex-direction: row; align-items: center; gap: 0.5rem; }
.orbis-rpg.orpg-game .orpg-topbar .orbis-rpg__profile .orbis-rpg__avatar img { width: 40px; height: 40px; border-radius: 50%; }
.orbis-rpg.orpg-game .orpg-topbar .orbis-rpg__profile h2 { font-size: 0.82rem; margin: 0; }
.orbis-rpg.orpg-game .orpg-topbar .orbis-rpg__profile span { font-size: 0.62rem; }
.orbis-rpg.orpg-game .orpg-topbar .orbis-rpg__bar { width: 96px; height: 5px; }
.orbis-rpg.orpg-game .orpg-topbar .orbis-rpg__energy-buy { margin-top: 3px; font-size: 0.58rem; padding: 1px 7px; }

/* Escenario central: una pantalla a la vez */
.orbis-rpg.orpg-game .orpg-stage {
    flex: 1 1 auto; overflow-y: auto; overflow-x: hidden;
    padding: 1.1rem clamp(0.6rem, 3vw, 2.6rem) 2.2rem;
}
/* Topbar: centrar cuando sobra espacio (desktop) y permitir scroll si no cabe */
.orbis-rpg.orpg-game .orpg-topbar { justify-content: safe center; }
.orbis-rpg.orpg-game .orpg-topbar .orbis-rpg__card { min-width: max-content; }
.orbis-rpg.orpg-game .orpg-stage > [data-tab] { animation: orpgScreenIn 0.42s cubic-bezier(.2,.8,.2,1) both; max-width: 1320px; margin: 0 auto; }
@keyframes orpgScreenIn { 0% { opacity: 0; transform: translateY(20px) scale(0.99); } 100% { opacity: 1; transform: none; } }

/* Dock de navegacion inferior con iconos */
.orbis-rpg.orpg-game .orpg-dock {
    flex: 0 0 auto; display: flex; justify-content: safe center; gap: 0.3rem; margin: 0; padding: 0.4rem 0.6rem calc(0.45rem + env(safe-area-inset-bottom)); overflow-x: auto; scrollbar-width: none;
    background: linear-gradient(0deg, oklch(0.15 0.05 295 / 0.98), oklch(0.11 0.04 295 / 0.92));
    border-top: 1px solid oklch(0.7 0.1 300 / 0.35); box-shadow: 0 -6px 22px oklch(0.05 0.03 300 / 0.5);
}
.orbis-rpg.orpg-game .orpg-dock .orbis-rpg__tab {
    flex: 1 1 0; max-width: 130px; display: flex; flex-direction: column; align-items: center; gap: 3px;
    background: transparent; border: 0; border-radius: 14px; padding: 0.45rem 0.3rem; color: oklch(0.78 0.04 300); cursor: pointer;
    font-family: 'Sora', sans-serif; transition: background 0.15s ease, transform 0.15s ease, color 0.15s ease;
}
.orbis-rpg.orpg-game .orpg-dock .orbis-rpg__tab:hover { transform: translateY(-2px); color: #fff; }
.orbis-rpg.orpg-game .orpg-dock .orbis-rpg__tab.is-active {
    background: linear-gradient(180deg, oklch(0.42 0.13 300 / 0.55), oklch(0.3 0.1 300 / 0.18));
    color: #fff; box-shadow: inset 0 0 0 1px oklch(0.78 0.12 300 / 0.55), 0 0 16px oklch(0.6 0.16 300 / 0.4);
}
.orbis-rpg.orpg-game .orpg-dock .orpg-dock-ico { font-size: 1.4rem; line-height: 1; filter: drop-shadow(0 2px 4px oklch(0.1 0.05 300 / 0.6)); }
.orbis-rpg.orpg-game .orpg-dock .orpg-dock-lbl { font-size: 0.66rem; letter-spacing: 0.02em; }
.orbis-rpg.orpg-game .orpg-dock .orbis-rpg__tab.is-active .orpg-dock-ico { animation: orpgDockPop 0.3s ease; }
@keyframes orpgDockPop { 0% { transform: scale(1); } 50% { transform: scale(1.35); } 100% { transform: scale(1); } }
@media (max-width: 600px) {
    .orbis-rpg.orpg-game .orpg-dock { gap: 0.1rem; padding-left: 0.2rem; padding-right: 0.2rem; }
    .orbis-rpg.orpg-game .orpg-dock .orpg-dock-lbl { font-size: 0.54rem; }
    .orbis-rpg.orpg-game .orpg-dock .orpg-dock-ico { font-size: 1.2rem; }
    .orbis-rpg.orpg-game .orpg-dock .orbis-rpg__tab { padding: 0.4rem 0.15rem; }
    .orbis-rpg.orpg-game .orpg-topbar .orbis-rpg__profile h2 { display: none; }
}
/* Con 9+ items en el dock, en pantallas estrechas mostrar solo iconos centrados */
@media (max-width: 480px) {
    .orbis-rpg.orpg-game .orpg-dock .orpg-dock-lbl { display: none; }
    .orbis-rpg.orpg-game .orpg-dock .orpg-dock-ico { font-size: 1.5rem; }
    .orbis-rpg.orpg-game .orpg-dock .orbis-rpg__tab { min-width: 44px; padding: 0.5rem 0.2rem; }
}

/* ============ GAME SKIN v2 — interior de pantallas ============ */

/* Scrollbar del escenario */
.orbis-rpg.orpg-game .orpg-stage::-webkit-scrollbar { width: 10px; }
.orbis-rpg.orpg-game .orpg-stage::-webkit-scrollbar-thumb { background: oklch(0.5 0.1 300 / 0.5); border-radius: 99px; border: 2px solid transparent; background-clip: padding-box; }

/* Cabecera de cada pantalla */
.orbis-rpg.orpg-game .orpg-stage section > header { position: relative; margin: 0 0 1.1rem; padding: 0.1rem 0 0.7rem 0.95rem; border-bottom: 1px solid oklch(0.7 0.12 95 / 0.16); }
.orbis-rpg.orpg-game .orpg-stage section > header::before { content: ''; position: absolute; left: 0; top: 3px; bottom: 11px; width: 4px; border-radius: 4px; background: linear-gradient(180deg, oklch(0.85 0.13 92), oklch(0.6 0.16 300)); box-shadow: 0 0 10px oklch(0.75 0.16 90 / 0.55); }
.orbis-rpg.orpg-game .orpg-stage section > header p { margin: 0; font-family: 'Sora', sans-serif; font-size: 0.7rem; letter-spacing: 0.28em; text-transform: uppercase; color: oklch(0.82 0.12 95); }
.orbis-rpg.orpg-game .orpg-stage section > header h2 { margin: 0.1rem 0 0; font-family: 'Cinzel', serif; font-weight: 800; font-size: clamp(1.4rem, 3.2vw, 2.1rem); letter-spacing: 0.02em; color: #fff; text-shadow: 0 2px 18px oklch(0.6 0.16 300 / 0.5); }
.orbis-rpg.orpg-game .orpg-stage section > header span { color: oklch(0.78 0.03 300); font-size: 0.9rem; }

/* Paneles (cajas) */
.orbis-rpg.orpg-game .orpg-stage section {
    position: relative; border-radius: 18px; padding: 1.2rem clamp(0.9rem, 2.4vw, 1.7rem) 1.4rem; margin-bottom: 1.2rem;
    background: linear-gradient(160deg, oklch(0.2 0.05 295 / 0.86), oklch(0.13 0.04 295 / 0.86));
    border: 1px solid oklch(0.65 0.1 300 / 0.28);
    box-shadow: 0 12px 32px oklch(0.05 0.03 300 / 0.45), inset 0 1px 0 oklch(1 0 0 / 0.06);
}
.orbis-rpg.orpg-game .orpg-stage section::before { content: ''; position: absolute; left: 16px; right: 16px; top: 0; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, oklch(0.84 0.13 92 / 0.6), transparent); }

/* Botones estilo juego */
.orbis-rpg.orpg-game .orbis-rpg__button {
    font-family: 'Cinzel', serif; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
    color: #241405; border: 1px solid oklch(0.95 0.06 95); border-radius: 12px; padding: 0.7rem 1.4rem; cursor: pointer;
    background: linear-gradient(180deg, oklch(0.92 0.1 95), oklch(0.78 0.16 82));
    box-shadow: 0 6px 18px oklch(0.5 0.16 70 / 0.4), inset 0 1px 0 oklch(1 0 0 / 0.5);
    position: relative; overflow: hidden; transition: transform 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
}
.orbis-rpg.orpg-game .orbis-rpg__button:hover { transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 10px 24px oklch(0.5 0.16 70 / 0.55); }
.orbis-rpg.orpg-game .orbis-rpg__button:active { transform: translateY(0); }
.orbis-rpg.orpg-game .orbis-rpg__button::after { content: ''; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; transform: skewX(-20deg); background: linear-gradient(90deg, transparent, oklch(1 0 0 / 0.5), transparent); transition: left 0.5s ease; }
.orbis-rpg.orpg-game .orbis-rpg__button:hover::after { left: 130%; }
.orbis-rpg.orpg-game .orbis-rpg__button--alt { color: #fff; background: linear-gradient(180deg, oklch(0.5 0.14 300), oklch(0.36 0.12 300)); border-color: oklch(0.7 0.12 300 / 0.7); }
.orbis-rpg.orpg-game .orbis-rpg__button:disabled, .orbis-rpg.orpg-game .orbis-rpg__button[disabled] { filter: grayscale(0.6) brightness(0.7); cursor: default; transform: none; box-shadow: none; }
.orbis-rpg.orpg-game .orbis-rpg__button:disabled::after { display: none; }

.orbis-rpg.orpg-game .orpg-dock::-webkit-scrollbar { display: none; }

/* Título de pantalla (sub-cabecera del escenario) */
.orbis-rpg.orpg-game .orpg-screen-title {
    flex: 0 0 auto; display: flex; align-items: center; gap: 0.55rem; padding: 0.55rem clamp(0.8rem, 3vw, 2.6rem);
    background: linear-gradient(90deg, oklch(0.18 0.05 295 / 0.6), transparent);
    border-bottom: 1px solid oklch(0.7 0.1 300 / 0.12);
}
.orbis-rpg.orpg-game .orpg-screen-title .orpg-st-ico { font-size: 1.35rem; filter: drop-shadow(0 2px 5px oklch(0.1 0.05 300 / 0.6)); }
.orbis-rpg.orpg-game .orpg-screen-title b { font-family: 'Cinzel', serif; font-weight: 800; font-size: clamp(1.1rem, 3vw, 1.6rem); letter-spacing: 0.12em; text-transform: uppercase; color: #fff;
    background: linear-gradient(180deg, oklch(0.96 0.06 95), oklch(0.8 0.15 85)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.orbis-rpg.orpg-game .orpg-screen-title.in { animation: orpgTitleIn 0.45s cubic-bezier(.2,.9,.3,1); }
@keyframes orpgTitleIn { 0% { opacity: 0; transform: translateX(-16px); letter-spacing: 0.3em; } 100% { opacity: 1; transform: none; } }

/* ===== Pantalla Base (centro de mando) ===== */
.orbis-rpg.orpg-game .orpg-stage section.orbis-rpg__home { background: transparent; border: 0; box-shadow: none; padding: 0.4rem 0 1rem; display: flex; flex-direction: column; gap: 1rem; align-items: stretch; max-width: 900px; margin-left: auto; margin-right: auto; width: 100%; }
.orbis-rpg__home .orpg-hub-top, .orbis-rpg__home .orpg-hub-portals, .orbis-rpg__home .orpg-home-claims { width: 100%; }
.orbis-rpg__home .orpg-hub-portals { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 600px) { .orbis-rpg__home .orpg-hub-portals { grid-template-columns: repeat(3, 1fr); } }
.orbis-rpg.orpg-game .orpg-stage section.orbis-rpg__home::before { display: none; }
.orpg-home-hero { display: flex; gap: 1.4rem; align-items: center; flex-wrap: wrap; justify-content: center; width: 100%; max-width: 780px; padding: 1.5rem;
    border-radius: 22px; background: radial-gradient(circle at 18% 18%, oklch(0.32 0.11 300 / 0.6), oklch(0.14 0.04 295 / 0.88));
    border: 1px solid oklch(0.7 0.12 300 / 0.35); box-shadow: 0 18px 46px oklch(0.05 0.03 300 / 0.55); }
.orpg-home-portrait { position: relative; width: 124px; height: 124px; flex: 0 0 auto; }
.orpg-home-portrait img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; border: 3px solid oklch(0.85 0.13 92 / 0.85); box-shadow: 0 0 26px oklch(0.7 0.16 90 / 0.55); }
.orpg-home-ring { position: absolute; inset: -9px; border-radius: 50%; border: 2px dashed oklch(0.8 0.12 300 / 0.55); animation: orpgSpin 16s linear infinite; }
.orpg-home-id { min-width: 200px; }
.orpg-home-id p { margin: 0; letter-spacing: 0.28em; font-size: 0.72rem; color: oklch(0.82 0.12 95); }
.orpg-home-id h2 { margin: 0.1rem 0; font-family: 'Cinzel', serif; font-size: clamp(1.6rem, 4vw, 2.4rem); color: #fff; }
.orpg-home-lvl { color: oklch(0.85 0.06 95); margin-bottom: 0.45rem; }
.orpg-home-id .orbis-rpg__bar { width: min(280px, 62vw); height: 7px; }
.orpg-home-battle { font-size: 1.15rem; padding: 0.95rem 2.6rem; }
.orpg-home-battle span { margin-right: 0.35rem; }
.orpg-home-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 0.7rem; width: 100%; max-width: 780px; }
.orpg-home-tile { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; padding: 1rem 0.6rem; cursor: pointer;
    font-family: 'Sora', sans-serif; font-size: 0.86rem; color: #fff; border-radius: 16px;
    background: linear-gradient(160deg, oklch(0.24 0.06 300 / 0.8), oklch(0.16 0.05 295 / 0.8));
    border: 1px solid oklch(0.65 0.1 300 / 0.3); box-shadow: 0 8px 22px oklch(0.05 0.03 300 / 0.4);
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease; }
.orpg-home-tile span { font-size: 1.75rem; }
.orpg-home-tile:hover { transform: translateY(-3px); box-shadow: 0 12px 28px oklch(0.5 0.14 300 / 0.45); border-color: oklch(0.78 0.12 300 / 0.6); }

/* ===== Viñeta + ambiente del escenario ===== */
.orbis-rpg.orpg-game .orpg-stage { position: relative; }
.orbis-rpg.orpg-game::after { content: ''; position: absolute; inset: 0; z-index: 50; pointer-events: none; background: radial-gradient(circle at 50% 42%, transparent 58%, oklch(0.05 0.03 300 / 0.5) 100%); }

/* ===== Cofre de recompensa ===== */
.orpg-chest-ov { position: fixed; inset: 0; z-index: 99996; display: grid; place-items: center; background: oklch(0.05 0.03 300 / 0.72); backdrop-filter: blur(4px); opacity: 0; transition: opacity 0.3s ease; }
.orpg-chest-ov.show { opacity: 1; }
.orpg-chest-box { position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.8rem; padding: 1.5rem; text-align: center; transform: scale(0.85); transition: transform 0.35s cubic-bezier(.2,1.3,.4,1); }
.orpg-chest-ov.show .orpg-chest-box { transform: scale(1); }
.orpg-chest-rays { position: absolute; top: -30px; width: 360px; height: 360px; z-index: 0; opacity: 0; transition: opacity 0.5s ease;
    background: repeating-conic-gradient(from 0deg, oklch(0.85 0.16 90 / 0.22) 0deg 9deg, transparent 9deg 18deg); animation: orpgSpin 11s linear infinite; }
.orpg-chest-ov.open .orpg-chest-rays { opacity: 1; }
.orpg-chest { position: relative; width: 130px; height: 104px; z-index: 1; }
.orpg-chest-base, .orpg-chest-lid { position: absolute; left: 0; width: 130px; border-radius: 10px; border: 2px solid oklch(0.55 0.1 70); }
.orpg-chest-base { bottom: 0; height: 64px; background: linear-gradient(180deg, oklch(0.5 0.12 60), oklch(0.32 0.1 50)); box-shadow: inset 0 -6px 12px oklch(0.2 0.06 40 / 0.6); }
.orpg-chest-base::after { content: ''; position: absolute; left: 50%; top: 8px; transform: translateX(-50%); width: 22px; height: 26px; border-radius: 4px; background: linear-gradient(180deg, oklch(0.9 0.12 92), oklch(0.7 0.16 80)); box-shadow: 0 0 10px oklch(0.8 0.16 85 / 0.7); }
.orpg-chest-lid { top: 0; height: 50px; transform-origin: bottom center; background: linear-gradient(180deg, oklch(0.58 0.13 65), oklch(0.42 0.11 55)); transition: transform 0.5s cubic-bezier(.3,1.4,.5,1); }
.orpg-chest-ov.open .orpg-chest-lid { transform: rotateX(118deg); }
.orpg-chest-key { position: absolute; left: 50%; top: 38px; transform: translateX(-50%); z-index: 2; font-size: 1.2rem; transition: opacity 0.3s ease; }
.orpg-chest-ov.open .orpg-chest-key { opacity: 0; }
.orpg-chest-loot { position: relative; z-index: 1; opacity: 0; transform: translateY(10px); transition: opacity 0.4s ease 0.4s, transform 0.4s ease 0.4s; color: #fff; font-family: 'Sora', sans-serif; }
.orpg-chest-ov.open .orpg-chest-loot { opacity: 1; transform: none; }
.orpg-chest-loot b { display: block; font-family: 'Cinzel', serif; font-size: 1.3rem; color: oklch(0.9 0.12 92); margin-bottom: 0.3rem; }
.orpg-chest-lines { font-size: 1rem; line-height: 1.5; }
.orpg-chest-ok { position: relative; z-index: 1; opacity: 0; transition: opacity 0.3s ease 0.6s; }
.orpg-chest-ov.open .orpg-chest-ok { opacity: 1; }

/* ===== Transición de viaje a la batalla ===== */
.orpg-journey { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; pointer-events: none;
    background: radial-gradient(circle at 50% 50%, oklch(0.22 0.09 300), #07040e 75%);
    clip-path: inset(0 0 100% 0); transition: clip-path 0.45s cubic-bezier(.7,0,.3,1), opacity 0.5s ease; }
.orpg-journey.in { clip-path: inset(0 0 0 0); }
.orpg-journey.out { opacity: 0; }
.orpg-journey-inner { text-align: center; transform: scale(0.8); opacity: 0; transition: transform 0.4s ease 0.15s, opacity 0.4s ease 0.15s; }
.orpg-journey.in .orpg-journey-inner { transform: scale(1); opacity: 1; }
.orpg-journey-ico { display: block; font-size: 3.4rem; filter: drop-shadow(0 0 18px oklch(0.7 0.16 300 / 0.7)); animation: orpgJourneyIco 0.8s ease infinite alternate; }
@keyframes orpgJourneyIco { 0% { transform: rotate(-12deg) scale(1); } 100% { transform: rotate(12deg) scale(1.12); } }
.orpg-journey-inner b { display: block; margin-top: 0.5rem; font-family: 'Cinzel', serif; font-weight: 800; font-size: clamp(1.6rem, 5vw, 3rem); letter-spacing: 0.14em; color: #fff; text-shadow: 0 0 24px oklch(0.6 0.16 300 / 0.7); }
.orpg-journey-path { display: block; width: 200px; height: 3px; margin: 0.8rem auto 0; border-radius: 3px;
    background: repeating-linear-gradient(90deg, oklch(0.85 0.13 92 / 0.9) 0 10px, transparent 10px 20px); background-size: 40px 3px; animation: orpgPath 0.5s linear infinite; }
@keyframes orpgPath { to { background-position: 40px 0; } }

/* ===== Codex: filtros de coleccion ===== */
.orbis-rpg.orpg-game .orpg-codex { display: flex; flex-wrap: wrap; gap: 0.55rem 1.3rem; margin: 0 0 1.1rem; padding: 0.7rem 0.9rem; border-radius: 14px; background: oklch(0.16 0.04 295 / 0.6); border: 1px solid oklch(0.6 0.08 300 / 0.25); }
.orbis-rpg.orpg-game .orpg-codex-grp { display: flex; align-items: center; gap: 0.3rem; flex-wrap: wrap; }
.orbis-rpg.orpg-game .orpg-codex-grp > span { font-family: 'Sora', sans-serif; font-size: 0.64rem; letter-spacing: 0.16em; text-transform: uppercase; color: oklch(0.78 0.1 95); margin-right: 0.25rem; }
.orbis-rpg.orpg-game .orpg-cf { font-family: 'Sora', sans-serif; font-size: 0.74rem; padding: 0.26rem 0.62rem; border-radius: 99px; cursor: pointer; color: oklch(0.82 0.03 300); background: oklch(0.26 0.04 300 / 0.6); border: 1px solid oklch(0.6 0.08 300 / 0.3); transition: all 0.14s ease; }
.orbis-rpg.orpg-game .orpg-cf:hover { color: #fff; transform: translateY(-1px); }
.orbis-rpg.orpg-game .orpg-cf.is-on { color: #1a0f02; background: linear-gradient(180deg, oklch(0.9 0.1 95), oklch(0.76 0.16 82)); border-color: oklch(0.92 0.06 95); font-weight: 700; }

/* ===== Losas de cartas (coleccion) ===== */
.orbis-rpg.orpg-game [data-rpg-cards] { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.9rem; }
.orbis-rpg.orpg-game .orbis-rpg__hcard { transition: transform 0.16s ease, box-shadow 0.16s ease; }
.orbis-rpg.orpg-game .orbis-rpg__hcard:hover { transform: translateY(-4px); box-shadow: 0 14px 30px oklch(0.05 0.03 300 / 0.5), 0 0 18px var(--rar, #888); }
.orbis-rpg.orpg-game .orbis-rpg__hcard.is-active { box-shadow: 0 0 0 2px var(--rar, #fff), 0 0 22px var(--rar, #888); }

/* ===== Losas de campaña ===== */
.orbis-rpg.orpg-game [data-rpg-campaigns] { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.orbis-rpg.orpg-game .orbis-rpg__camp { position: relative; overflow: hidden; border-radius: 16px; padding: 0 0 0.2rem; border: 1px solid oklch(0.6 0.1 300 / 0.3); box-shadow: 0 10px 26px oklch(0.05 0.03 300 / 0.45); background: linear-gradient(180deg, oklch(0.22 0.05 295 / 0.6), oklch(0.14 0.04 295 / 0.85)); transition: transform 0.16s ease, box-shadow 0.16s ease; }
.orbis-rpg.orpg-game .orbis-rpg__camp:not(.is-locked):hover { transform: translateY(-4px); box-shadow: 0 16px 34px oklch(0.5 0.12 300 / 0.4); }
.orbis-rpg.orpg-game .orbis-rpg__camp .orpg-scene { position: relative; height: 132px; background-size: cover; background-position: center; }
.orbis-rpg.orpg-game .orbis-rpg__camp .orpg-scene::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, oklch(0.12 0.04 295 / 0.9)); }
.orbis-rpg.orpg-game .orbis-rpg__camp h3 { margin: 0.55rem 0.85rem 0; font-family: 'Cinzel', serif; font-size: 1.15rem; }
.orbis-rpg.orpg-game .orbis-rpg__camp > span { display: block; padding: 0.1rem 0.85rem 0; color: oklch(0.78 0.03 300); font-size: 0.84rem; }
.orbis-rpg.orpg-game .orbis-rpg__camp .orbis-rpg__bar { margin: 0.55rem 0.85rem; }
.orbis-rpg.orpg-game .orbis-rpg__camp .orbis-rpg__button { display: block; margin: 0.2rem 0.85rem 0.7rem; width: calc(100% - 1.7rem); }
.orbis-rpg.orpg-game .orbis-rpg__camp.is-locked { filter: grayscale(0.7) brightness(0.72); }

/* ===== Ficha de personaje (Perfil) ===== */
.orbis-rpg.orpg-game .orpg-stage section.orbis-rpg__profile-screen { background: transparent; border: 0; box-shadow: none; padding: 0; }
.orbis-rpg.orpg-game .orbis-rpg__profile-screen::before { display: none; }
.orpg-pf-cover { position: relative; border-radius: 20px; min-height: 200px; padding: 1.4rem; display: flex; align-items: flex-end; gap: 1.2rem; overflow: hidden; border: 1px solid oklch(0.65 0.1 300 / 0.35); box-shadow: 0 16px 40px oklch(0.05 0.03 300 / 0.5); }
.orpg-pf-cover::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, oklch(0.08 0.03 295 / 0.85), transparent 70%); }
.orpg-pf-cover > * { position: relative; z-index: 1; }
.orpg-pf-avatar { flex: 0 0 auto; width: 104px; height: 104px; border-radius: 50%; }
.orpg-pf-avatar img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; border: 3px solid var(--accent, #e8c45a); box-shadow: 0 0 22px color-mix(in oklab, var(--accent, #e8c45a) 60%, transparent); }
.orpg-pf-id { flex: 1 1 auto; }
.orpg-pf-id h2 { margin: 0; font-family: 'Cinzel', serif; font-size: clamp(1.5rem, 4vw, 2.4rem); color: #fff; text-shadow: 0 2px 14px oklch(0.05 0.03 300 / 0.8); }
.orpg-pf-title { display: block; color: var(--accent, #e8c45a); font-family: 'Sora', sans-serif; font-style: italic; margin: 0.15rem 0; }
.orpg-pf-lvl { display: inline-block; font-family: 'Cinzel', serif; font-size: 0.78rem; letter-spacing: 0.14em; color: #1a0f02; background: var(--accent, #e8c45a); padding: 0.12rem 0.7rem; border-radius: 99px; }
.orpg-pf-editbtn { position: absolute; top: 1rem; right: 1rem; z-index: 2; cursor: pointer; font-family: 'Sora', sans-serif; font-size: 0.8rem; color: #fff; background: oklch(0.2 0.05 300 / 0.7); border: 1px solid oklch(0.7 0.1 300 / 0.5); border-radius: 99px; padding: 0.4rem 0.9rem; transition: background 0.15s ease; }
.orpg-pf-editbtn:hover { background: oklch(0.35 0.1 300 / 0.8); }
/* Cabeceras (covers) */
.orpg-pf-cover.cover-arcano { background: radial-gradient(circle at 75% 25%, oklch(0.45 0.16 300 / 0.8), transparent 60%), linear-gradient(160deg, oklch(0.26 0.08 295), oklch(0.12 0.04 290)); }
.orpg-pf-cover.cover-abismo { background: radial-gradient(circle at 30% 20%, oklch(0.4 0.13 230 / 0.8), transparent 55%), linear-gradient(160deg, oklch(0.2 0.07 250), oklch(0.08 0.03 260)); }
.orpg-pf-cover.cover-bosque { background: radial-gradient(circle at 70% 30%, oklch(0.5 0.14 150 / 0.7), transparent 55%), linear-gradient(160deg, oklch(0.24 0.08 150), oklch(0.1 0.04 160)); }
.orpg-pf-cover.cover-fuego { background: radial-gradient(circle at 75% 25%, oklch(0.6 0.18 50 / 0.8), transparent 55%), linear-gradient(160deg, oklch(0.3 0.12 40), oklch(0.12 0.05 30)); }
.orpg-pf-cover.cover-hielo { background: radial-gradient(circle at 70% 25%, oklch(0.7 0.12 220 / 0.7), transparent 55%), linear-gradient(160deg, oklch(0.4 0.08 220), oklch(0.16 0.04 230)); }
.orpg-pf-cover.cover-sombra { background: radial-gradient(circle at 75% 25%, oklch(0.35 0.14 320 / 0.85), transparent 55%), linear-gradient(160deg, oklch(0.16 0.06 320), oklch(0.07 0.03 310)); }
.orpg-pf-cover.cover-oro { background: radial-gradient(circle at 72% 28%, oklch(0.78 0.15 90 / 0.8), transparent 58%), linear-gradient(160deg, oklch(0.38 0.1 80), oklch(0.16 0.05 70)); }
.orpg-pf-cover.cover-void { background: radial-gradient(circle at 50% 30%, oklch(0.3 0.1 300 / 0.8), transparent 50%), linear-gradient(160deg, oklch(0.1 0.04 290), #050308); }
/* Stats */
.orpg-pf-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 0.7rem; margin: 0.9rem 0; }
.orpg-pf-stats > div { display: flex; flex-direction: column; align-items: center; gap: 0.1rem; padding: 0.8rem; border-radius: 14px; background: linear-gradient(160deg, oklch(0.22 0.05 295 / 0.85), oklch(0.14 0.04 295 / 0.85)); border: 1px solid oklch(0.6 0.08 300 / 0.28); }
.orpg-pf-stats > div span { font-size: 1.2rem; color: var(--accent, #e8c45a); }
.orpg-pf-stats > div b { font-family: 'Cinzel', serif; font-size: 1.3rem; color: #fff; }
.orpg-pf-stats > div small { color: oklch(0.75 0.03 300); font-size: 0.72rem; }
/* Editor */
.orpg-pf-editor { border-radius: 16px; padding: 1.1rem 1.2rem 1.3rem; background: linear-gradient(160deg, oklch(0.2 0.05 295 / 0.85), oklch(0.13 0.04 295 / 0.88)); border: 1px solid oklch(0.62 0.1 300 / 0.3); }
.orpg-pf-editor header { margin-bottom: 0.8rem; }
.orpg-pf-editor header p { margin: 0; font-size: 0.66rem; letter-spacing: 0.26em; color: oklch(0.8 0.12 95); }
.orpg-pf-editor header h2 { margin: 0; font-family: 'Cinzel', serif; color: #fff; }
.orpg-pf-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 0.8rem; }
.orpg-pf-row > span { flex: 0 0 80px; font-size: 0.78rem; color: oklch(0.78 0.04 300); }
.orpg-pf-covers { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.orpg-pf-themes { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.orpg-pf-theme { display: inline-flex; align-items: center; gap: 0.4rem; cursor: pointer; font-family: 'Sora', sans-serif; font-size: 0.74rem; padding: 0.3rem 0.65rem; border-radius: 99px; color: #e6e9f2; background: oklch(0.22 0.04 300 / 0.6); border: 1px solid oklch(0.6 0.08 300 / 0.3); transition: all 0.14s ease; }
.orpg-pf-theme i { width: 16px; height: 16px; border-radius: 50%; background: var(--tbg, #444); border: 1px solid rgba(255,255,255,0.35); flex: 0 0 auto; box-shadow: 0 0 6px -1px rgba(0,0,0,0.6); }
.orpg-pf-theme b { color: #ffd86b; }
.orpg-pf-theme:hover { background: oklch(0.3 0.05 300 / 0.7); }
.orpg-pf-theme.is-on { border-color: #ffd24d; box-shadow: 0 0 10px -2px #ffd24d; color: #fff; }
.orpg-pf-theme.is-buy { border-style: dashed; opacity: 0.92; }
.orpg-pf-theme.is-buy::after { content: "🔒"; font-size: 0.7rem; }
.orpg-pf-cf { cursor: pointer; font-family: 'Sora', sans-serif; font-size: 0.74rem; padding: 0.3rem 0.7rem; border-radius: 99px; color: oklch(0.82 0.03 300); background: oklch(0.26 0.04 300 / 0.6); border: 1px solid oklch(0.6 0.08 300 / 0.3); transition: all 0.14s ease; }
.orpg-pf-cf.is-on { color: #1a0f02; background: linear-gradient(180deg, oklch(0.9 0.1 95), oklch(0.76 0.16 82)); border-color: oklch(0.92 0.06 95); font-weight: 700; }
.orpg-pf-cf.is-locked { opacity: 0.5; filter: grayscale(0.7); cursor: not-allowed; }
.orpg-pf-accents { display: flex; gap: 0.4rem; }
.orpg-pf-ac { width: 28px; height: 28px; border-radius: 50%; cursor: pointer; border: 2px solid oklch(1 0 0 / 0.2); transition: transform 0.14s ease; }
.orpg-pf-ac:hover { transform: scale(1.12); }
.orpg-pf-ac.is-on { border-color: #fff; box-shadow: 0 0 0 2px oklch(0.85 0.12 95); }
.orpg-pf-input { flex: 1 1 200px; min-width: 160px; padding: 0.5rem 0.8rem; border-radius: 10px; background: oklch(0.1 0.03 295 / 0.7); border: 1px solid oklch(0.6 0.08 300 / 0.35); color: #fff; font-family: 'Sora', sans-serif; }
.orpg-pf-msg { display: inline-block; margin-left: 0.7rem; color: oklch(0.82 0.12 95); font-size: 0.85rem; }

/* ===== Marcos de avatar (perfil) ===== */
.orpg-pf-avatar { position: relative; }
.orpg-pf-avatar::after { content: ''; position: absolute; inset: -6px; border-radius: 50%; pointer-events: none; }
.orpg-pf-avatar.frame-none::after { display: none; }
.orpg-pf-avatar.frame-oro::after { border: 3px solid #e8c45a; box-shadow: 0 0 16px oklch(0.82 0.16 90 / 0.55), inset 0 0 8px oklch(0.82 0.16 90 / 0.35); }
.orpg-pf-avatar.frame-runico::after { border: 2px dashed #c46bff; animation: orpgSpin 12s linear infinite; }
.orpg-pf-avatar.frame-llama::after { border: 3px solid #ff7a33; box-shadow: 0 0 20px oklch(0.7 0.18 50 / 0.6); animation: orpgCharge 1.2s ease-in-out infinite; }
.orpg-pf-avatar.frame-vacio::after { border: 3px solid #6a3cff; box-shadow: 0 0 22px oklch(0.5 0.2 300 / 0.6), inset 0 0 14px #000; }
.orpg-pf-avatar.frame-escarcha::after { border: 3px solid #7fe0ff; box-shadow: 0 0 18px oklch(0.8 0.13 220 / 0.6); }

/* ===== Logro desbloqueado (pop-up) ===== */
.orpg-ach { position: fixed; top: 70px; left: 50%; transform: translateX(-50%) translateY(-20px); z-index: 99996; opacity: 0; pointer-events: none; transition: opacity 0.4s ease, transform 0.4s cubic-bezier(.2,1.2,.4,1); }
.orpg-ach.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.orpg-ach-in { display: flex; align-items: center; gap: 0.8rem; padding: 0.7rem 1.2rem 0.7rem 0.8rem; border-radius: 14px;
    background: linear-gradient(160deg, oklch(0.26 0.07 95 / 0.96), oklch(0.16 0.05 295 / 0.96)); border: 1px solid oklch(0.82 0.14 92 / 0.6);
    box-shadow: 0 12px 34px oklch(0.05 0.03 300 / 0.6), 0 0 24px oklch(0.78 0.16 90 / 0.35); }
.orpg-ach-ico { font-size: 2rem; filter: drop-shadow(0 0 10px oklch(0.8 0.16 90 / 0.6)); animation: orpgAchIco 0.8s ease; }
@keyframes orpgAchIco { 0% { transform: scale(0) rotate(-30deg); } 60% { transform: scale(1.3) rotate(8deg); } 100% { transform: scale(1) rotate(0); } }
.orpg-ach-txt p { margin: 0; font-family: 'Sora', sans-serif; font-size: 0.62rem; letter-spacing: 0.22em; color: oklch(0.85 0.13 92); }
.orpg-ach-txt b { display: block; font-family: 'Cinzel', serif; font-size: 1.05rem; color: #fff; }
.orpg-ach-txt small { color: oklch(0.78 0.04 300); font-size: 0.78rem; }

/* ===== Actividad reciente (perfil) ===== */
.orpg-pf-activity { margin: 0.9rem 0; }
.orpg-pf-activity h3 { font-family: 'Cinzel', serif; color: #fff; margin: 0 0 0.6rem; }
.orpg-act-row { display: flex; align-items: center; gap: 0.6rem; padding: 0.5rem 0.7rem; border-radius: 10px; margin-bottom: 0.3rem; background: oklch(0.18 0.04 295 / 0.5); border: 1px solid oklch(0.55 0.06 300 / 0.18); }
.orpg-act-dot { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--rpg-gold, #e8c45a); box-shadow: 0 0 8px oklch(0.8 0.14 92 / 0.6); }
.orpg-act-text { flex: 1 1 auto; color: oklch(0.88 0.02 300); font-size: 0.86rem; }
.orpg-act-when { flex: 0 0 auto; color: oklch(0.68 0.03 300); font-size: 0.74rem; }

/* ===== Galeria de logros (perfil) ===== */
.orpg-pf-achs { margin: 0.9rem 0; }
.orpg-pf-achs h3 { font-family: 'Cinzel', serif; color: #fff; margin: 0 0 0.6rem; }
.orpg-ach-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 0.6rem; }
.orpg-ach-cell { display: flex; flex-direction: column; align-items: center; gap: 0.2rem; text-align: center; padding: 0.9rem 0.6rem; border-radius: 14px;
    background: linear-gradient(160deg, oklch(0.18 0.04 295 / 0.8), oklch(0.12 0.04 295 / 0.85)); border: 1px solid oklch(0.55 0.06 300 / 0.25); filter: grayscale(1); opacity: 0.55; transition: transform 0.15s ease; }
.orpg-ach-cell.is-on { filter: none; opacity: 1; border-color: oklch(0.82 0.14 92 / 0.5); box-shadow: 0 0 16px oklch(0.78 0.16 90 / 0.2); }
.orpg-ach-cell.is-on:hover { transform: translateY(-3px); }
.orpg-ach-cell span { font-size: 1.8rem; }
.orpg-ach-cell b { font-family: 'Cinzel', serif; font-size: 0.86rem; color: #fff; }
.orpg-ach-cell small { font-size: 0.68rem; color: oklch(0.75 0.03 300); }

/* ===== Badge de aviso en el dock ===== */
.orbis-rpg.orpg-game .orpg-dock .orbis-rpg__tab { position: relative; }
.orbis-rpg.orpg-game .orpg-dock .orbis-rpg__tab.has-badge::after { content: ''; position: absolute; top: 5px; right: calc(50% - 22px); width: 9px; height: 9px; border-radius: 50%; background: #ff5470; box-shadow: 0 0 8px #ff5470; animation: orpgCharge 1.2s ease-in-out infinite; }

/* ===== Regalo entre jugadores ===== */
.orpg-gift-form { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.orpg-gift-name, .orpg-gift-amount { padding: 0.55rem 0.8rem; border-radius: 10px; background: oklch(0.1 0.03 295 / 0.7); border: 1px solid oklch(0.6 0.08 300 / 0.35); color: #fff; font-family: 'Sora', sans-serif; }
.orpg-gift-name { flex: 2 1 180px; }
.orpg-gift-amount { flex: 1 1 110px; }
.orpg-gift-msg { display: block; margin-top: 0.6rem; color: oklch(0.85 0.1 95); font-size: 0.88rem; min-height: 1.1em; }

/* ===== Tienda diaria ===== */
.orbis-rpg.orpg-game .orpg-ds-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.7rem; }
.orpg-ds-offer { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; text-align: center; padding: 1rem 0.7rem; border-radius: 14px;
    background: linear-gradient(160deg, oklch(0.22 0.05 295 / 0.85), oklch(0.14 0.04 295 / 0.85)); border: 1px solid oklch(0.62 0.1 300 / 0.3); }
.orpg-ds-offer.is-bought { opacity: 0.5; filter: grayscale(0.6); }
.orpg-ds-ico { font-size: 1.9rem; }
.orpg-ds-offer b { font-family: 'Cinzel', serif; font-size: 0.9rem; color: #fff; }
.orpg-ds-give { color: oklch(0.85 0.12 92); font-size: 0.9rem; }
.orpg-ds-offer .orbis-rpg__button { width: 100%; font-size: 0.78rem; padding: 0.5rem 0.6rem; }

/* ===== Ruleta diaria ===== */
.orpg-wheel { position: relative; width: 230px; height: 230px; margin: 0.4rem auto 1rem; }
.orpg-wheel-disc { width: 100%; height: 100%; border-radius: 50%; border: 6px solid oklch(0.3 0.06 300); box-shadow: 0 0 0 4px oklch(0.82 0.14 92 / 0.6), 0 12px 30px oklch(0.05 0.03 300 / 0.6);
    transition: transform 3.3s cubic-bezier(.15,.85,.25,1);
    background: conic-gradient(from -22.5deg, #caa14a 0 45deg, #7a4fd0 45deg 90deg, #4a8fd0 90deg 135deg, #caa14a 135deg 180deg, #7a4fd0 180deg 225deg, #4a8fd0 225deg 270deg, #d08a3c 270deg 315deg, #e34b6b 315deg 360deg); }
.orpg-wheel-hub { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; color: #1a0f02; font-size: 1.2rem;
    background: radial-gradient(circle at 35% 30%, oklch(0.95 0.08 95), oklch(0.74 0.16 80)); box-shadow: 0 0 12px oklch(0.8 0.16 85 / 0.7); z-index: 2; }
.orpg-wheel-pointer { position: absolute; top: -6px; left: 50%; transform: translateX(-50%); z-index: 3; width: 0; height: 0; border-left: 12px solid transparent; border-right: 12px solid transparent; border-top: 20px solid oklch(0.95 0.08 95); filter: drop-shadow(0 2px 4px oklch(0.1 0.05 300 / 0.7)); }
.orpg-wheel-legend { display: flex; flex-wrap: wrap; gap: 0.35rem; justify-content: center; }
.orpg-wh-leg { font-family: 'Sora', sans-serif; font-size: 0.72rem; padding: 0.2rem 0.55rem; border-radius: 99px; background: oklch(0.24 0.05 300 / 0.7); border: 1px solid oklch(0.6 0.08 300 / 0.3); color: oklch(0.86 0.06 95); }
.orpg-wh-leg.s7 { background: linear-gradient(180deg, #e34b6b, #b02a4a); color: #fff; font-weight: 700; }

/* ===== Misión semanal ===== */
.orpg-weekly { width: 100%; max-width: 780px; margin-top: 0.6rem; padding: 1.2rem; border-radius: 18px; text-align: center;
    background: radial-gradient(circle at 50% 0%, oklch(0.3 0.1 300 / 0.55), oklch(0.13 0.04 295 / 0.9)); border: 1px solid oklch(0.7 0.12 300 / 0.32); box-shadow: 0 12px 32px oklch(0.05 0.03 300 / 0.4); }
.orpg-weekly-head p { margin: 0; font-family: 'Sora', sans-serif; letter-spacing: 0.26em; font-size: 0.66rem; color: oklch(0.82 0.12 300); }
.orpg-weekly-head h3 { margin: 0.1rem 0 0.7rem; font-family: 'Cinzel', serif; color: #fff; }
.orpg-weekly-bar { height: 12px; border-radius: 99px; background: oklch(0.1 0.03 295 / 0.7); overflow: hidden; border: 1px solid oklch(0.5 0.08 300 / 0.3); }
.orpg-weekly-bar i { display: block; height: 100%; background: linear-gradient(90deg, oklch(0.85 0.14 90), oklch(0.65 0.16 300)); transition: width 0.5s ease; }
.orpg-weekly-prog { display: block; margin: 0.4rem 0 0.8rem; font-family: 'Cinzel', serif; color: oklch(0.9 0.1 92); }

/* Chip de evento en la barra superior (visible en todas las pantallas) */
.orbis-rpg.orpg-game .orpg-topbar .orbis-rpg__card.orpg-topbar-event { background: linear-gradient(160deg, oklch(0.4 0.15 95 / 0.55), oklch(0.3 0.13 300 / 0.55)); border-color: oklch(0.85 0.14 92 / 0.6); box-shadow: 0 0 14px oklch(0.78 0.16 90 / 0.3); }
.orbis-rpg.orpg-game .orpg-topbar .orpg-topbar-event strong { color: oklch(0.95 0.06 95); white-space: nowrap; }

/* ===== Centro de notificaciones ===== */
.orbis-rpg.orpg-game .orpg-topbar .orpg-bell { position: relative; flex: 0 0 auto; align-self: center; width: 42px; height: 42px; border-radius: 12px; cursor: pointer; font-size: 1.2rem;
    background: oklch(0.26 0.05 300 / 0.6); border: 1px solid oklch(0.6 0.08 300 / 0.35); color: #fff; transition: transform 0.14s ease; }
.orbis-rpg.orpg-game .orpg-topbar .orpg-bell:hover { transform: scale(1.08); }
.orpg-bell.has { animation: orpgBellRing 2s ease-in-out infinite; }
@keyframes orpgBellRing { 0%,92%,100% { transform: rotate(0); } 94% { transform: rotate(12deg); } 96% { transform: rotate(-10deg); } 98% { transform: rotate(6deg); } }
.orpg-bell-count { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 99px; background: #ff4d6d; color: #fff; font-family: 'Sora', sans-serif; font-size: 0.66rem; font-weight: 700; display: grid; place-items: center; box-shadow: 0 0 8px #ff4d6d; }
.orpg-bell-panel { position: fixed; right: 12px; z-index: 9100; width: min(300px, 86vw); border-radius: 14px; overflow: hidden; padding: 0.4rem;
    background: oklch(0.18 0.05 295 / 0.97); border: 1px solid oklch(0.7 0.1 300 / 0.5); box-shadow: 0 16px 40px oklch(0.05 0.03 300 / 0.6); backdrop-filter: blur(10px); }
body.admin-bar .orpg-bell-panel { top: 84px; } .orpg-bell-panel { top: 64px; }
.orpg-bell-item { display: flex; align-items: center; gap: 0.6rem; width: 100%; text-align: left; cursor: pointer; padding: 0.6rem 0.7rem; border-radius: 10px; border: 0; background: transparent; color: #fff; font-family: 'Sora', sans-serif; font-size: 0.86rem; transition: background 0.14s ease; }
.orpg-bell-item:hover { background: oklch(0.32 0.08 300 / 0.6); }
.orpg-bell-item span { font-size: 1.1rem; }
.orpg-bell-empty { padding: 0.9rem; text-align: center; color: oklch(0.78 0.04 300); font-size: 0.86rem; }

/* ===== Banner de evento temporal ===== */
.orpg-event { width: 100%; max-width: 780px; display: flex; align-items: center; gap: 0.8rem; padding: 0.8rem 1.1rem; border-radius: 16px;
    background: linear-gradient(100deg, oklch(0.4 0.16 95 / 0.55), oklch(0.3 0.14 300 / 0.55)); border: 1px solid oklch(0.85 0.14 92 / 0.6); box-shadow: 0 10px 28px oklch(0.05 0.03 300 / 0.45), 0 0 22px oklch(0.78 0.16 90 / 0.25); }
.orpg-event-ico { font-size: 2rem; animation: orpgFloat 3s ease-in-out infinite; }
.orpg-event b { display: block; font-family: 'Cinzel', serif; color: #fff; font-size: 1.05rem; }
.orpg-event small { color: oklch(0.9 0.06 95); }
.orpg-event-live { margin-left: auto; font-family: 'Sora', sans-serif; font-size: 0.6rem; font-weight: 700; letter-spacing: 0.12em; color: #fff; background: #d63a5a; padding: 0.2rem 0.5rem; border-radius: 99px; animation: orpgCharge 1.1s ease-in-out infinite; }

/* ===== Calendario de login ===== */
.orpg-cal { width: 100%; max-width: 780px; margin-top: 0.4rem; padding: 1.2rem; border-radius: 18px; text-align: center;
    background: linear-gradient(160deg, oklch(0.2 0.05 295 / 0.85), oklch(0.13 0.04 295 / 0.88)); border: 1px solid oklch(0.62 0.1 300 / 0.3); box-shadow: 0 12px 32px oklch(0.05 0.03 300 / 0.4); }
.orpg-cal-head p { margin: 0; font-family: 'Sora', sans-serif; letter-spacing: 0.26em; font-size: 0.66rem; color: oklch(0.82 0.12 95); }
.orpg-cal-head h3 { margin: 0.1rem 0 0.9rem; font-family: 'Cinzel', serif; color: #fff; }
.orpg-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0.4rem; margin-bottom: 1rem; }
.orpg-cal-day { position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.15rem; padding: 0.6rem 0.3rem; border-radius: 12px;
    background: oklch(0.24 0.05 300 / 0.6); border: 1px solid oklch(0.55 0.06 300 / 0.25); min-height: 64px; justify-content: center; }
.orpg-cal-day span { font-size: 0.6rem; color: oklch(0.75 0.03 300); }
.orpg-cal-day b { font-size: 0.74rem; color: oklch(0.9 0.1 92); line-height: 1.2; }
.orpg-cal-day i { font-size: 1.1rem; font-style: normal; }
.orpg-cal-day.is-current { border-color: oklch(0.85 0.14 92 / 0.7); box-shadow: 0 0 14px oklch(0.78 0.16 90 / 0.4); background: oklch(0.32 0.08 95 / 0.4); }
.orpg-cal-day.is-claimed { opacity: 0.45; filter: grayscale(0.6); }
.orpg-cal-day.is-claimed::after { content: '✓'; position: absolute; top: 4px; right: 6px; color: oklch(0.8 0.16 140); font-weight: 700; }
@media (max-width: 560px) { .orpg-cal-grid { grid-template-columns: repeat(4, 1fr); } }

/* ===== Ranking global (leaderboard) ===== */
.orpg-lb-tabs { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 0.8rem; }
.orpg-lb-tab { cursor: pointer; font-family: 'Sora', sans-serif; font-size: 0.78rem; padding: 0.35rem 0.85rem; border-radius: 99px; color: oklch(0.82 0.03 300); background: oklch(0.26 0.04 300 / 0.6); border: 1px solid oklch(0.6 0.08 300 / 0.3); transition: all 0.14s ease; }
.orpg-lb-tab.is-on { color: #1a0f02; background: linear-gradient(180deg, oklch(0.9 0.1 95), oklch(0.76 0.16 82)); border-color: oklch(0.92 0.06 95); font-weight: 700; }
.orpg-lb-row { display: flex; align-items: center; gap: 0.7rem; padding: 0.5rem 0.7rem; border-radius: 12px; margin-bottom: 0.35rem; background: oklch(0.18 0.04 295 / 0.55); border: 1px solid oklch(0.55 0.06 300 / 0.2); }
.orpg-lb-row.is-me { background: linear-gradient(90deg, oklch(0.34 0.1 300 / 0.5), oklch(0.2 0.05 295 / 0.5)); border-color: oklch(0.82 0.14 92 / 0.6); box-shadow: 0 0 14px oklch(0.7 0.16 90 / 0.25); }
.orpg-lb-rank { flex: 0 0 34px; text-align: center; font-family: 'Cinzel', serif; font-size: 1.05rem; color: oklch(0.88 0.1 92); }
.orpg-lb-row img { width: 36px; height: 36px; border-radius: 50%; border: 1px solid oklch(0.7 0.1 300 / 0.4); }
.orpg-lb-row b { flex: 1 1 auto; color: #fff; font-family: 'Sora', sans-serif; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.orpg-lb-val { flex: 0 0 auto; color: oklch(0.85 0.1 95); font-size: 0.85rem; }
.orpg-lb-rep { flex: 0 0 auto; cursor: pointer; border: 1px solid oklch(0.6 0.08 300 / 0.4); background: oklch(0.26 0.05 300 / 0.7); border-radius: 8px; padding: 0.2rem 0.5rem; font-size: 0.9rem; transition: transform 0.14s ease, background 0.14s ease; }
.orpg-lb-rep:hover { transform: scale(1.12); background: oklch(0.4 0.1 300 / 0.7); }
.orpg-lb-rep.done { color: oklch(0.8 0.16 140); border-color: oklch(0.7 0.14 140 / 0.6); }
.orpg-lb-gift { flex: 0 0 auto; cursor: pointer; border: 1px solid oklch(0.7 0.12 60 / 0.45); background: oklch(0.28 0.06 60 / 0.6); border-radius: 8px; padding: 0.2rem 0.5rem; font-size: 0.9rem; transition: transform 0.14s ease, background 0.14s ease; }
.orpg-lb-gift:hover { transform: scale(1.12); background: oklch(0.42 0.12 60 / 0.7); }
.orpg-lb-mine { margin-top: 0.7rem; padding: 0.6rem 0.9rem; border-radius: 12px; text-align: center; font-family: 'Sora', sans-serif; color: #fff; background: oklch(0.24 0.07 300 / 0.6); border: 1px dashed oklch(0.78 0.12 300 / 0.5); }
.orpg-lb-mine b { color: oklch(0.92 0.12 92); font-family: 'Cinzel', serif; }

/* ===== Ficha de héroe (detalle por carta) ===== */
.orpg-hd { position: relative; width: min(560px, 94vw); max-height: 92vh; overflow-y: auto; border-radius: 22px; padding: 1.2rem 1.2rem 1.4rem; text-align: center;
    background: radial-gradient(circle at 50% 0%, color-mix(in oklab, var(--rar, #888) 30%, transparent), oklch(0.12 0.04 295) 60%), linear-gradient(180deg, oklch(0.18 0.05 295), oklch(0.1 0.04 290));
    border: 1px solid color-mix(in oklab, var(--rar, #888) 55%, transparent); box-shadow: 0 24px 60px oklch(0.05 0.03 300 / 0.6), 0 0 30px color-mix(in oklab, var(--rar, #888) 35%, transparent); }
.orpg-hd .orpg-cm-x { position: absolute; top: 8px; right: 10px; z-index: 5; width: 34px; height: 34px; border-radius: 50%; cursor: pointer; background: oklch(0.2 0.05 300 / 0.7); border: 1px solid oklch(0.7 0.1 300 / 0.4); color: #fff; font-size: 1.2rem; }
.orpg-hd-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 5; width: 40px; height: 56px; border-radius: 12px; cursor: pointer; background: oklch(0.2 0.05 300 / 0.6); border: 1px solid oklch(0.7 0.1 300 / 0.4); color: #fff; font-size: 1.8rem; line-height: 1; }
.orpg-hd-nav.prev { left: 6px; } .orpg-hd-nav.next { right: 6px; }
.orpg-hd-nav:hover { background: oklch(0.34 0.1 300 / 0.7); }
.orpg-hd-stars { color: oklch(0.5 0.05 300); font-size: 1.1rem; letter-spacing: 2px; }
.orpg-hd-stars .on { color: #ffcf45; text-shadow: 0 0 8px oklch(0.85 0.16 90 / 0.7); }
.orpg-hd-head h3 { font-family: 'Cinzel', serif; font-size: clamp(1.4rem, 4vw, 2rem); color: #fff; margin: 0.2rem 0; }
.orpg-hd-tags, .orpg-cm-tags { display: flex; gap: 0.4rem; justify-content: center; flex-wrap: wrap; margin-bottom: 0.6rem; }
.orpg-hd .orpg-cm-tags span { font-size: 0.72rem; padding: 0.15rem 0.6rem; border-radius: 99px; background: oklch(0.3 0.05 300 / 0.6); color: #fff; }
.orpg-hd-body { display: grid; grid-template-columns: 64px 1fr 64px; gap: 0.6rem; align-items: center; margin: 0.4rem 0; }
.orpg-hd-col { display: flex; flex-direction: column; gap: 0.5rem; }
.orpg-hd-portrait { aspect-ratio: 3/4; border-radius: 14px; overflow: hidden; background: oklch(0.1 0.03 295 / 0.5); display: grid; place-items: center; border: 1px solid color-mix(in oklab, var(--rar, #888) 40%, transparent); }
.orpg-hd-portrait img { width: 100%; height: 100%; object-fit: cover; }
.orpg-hd-portrait .orpg-cm-sprite { width: 80px; height: 80px; background-size: cover; image-rendering: pixelated; }
.orpg-hd-slot { display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 0.35rem 0.2rem; cursor: pointer; border-radius: 10px; background: oklch(0.22 0.05 300 / 0.7); border: 1px solid oklch(0.6 0.08 300 / 0.35); color: #fff; transition: transform 0.14s ease, border-color 0.14s ease; }
.orpg-hd-slot:hover { transform: scale(1.06); border-color: var(--rar, #e8c45a); }
.orpg-hd-slot.is-filled { border-color: oklch(0.78 0.13 300 / 0.7); box-shadow: 0 0 10px oklch(0.6 0.16 300 / 0.4); }
.orpg-hd-slot-ic { font-size: 1.4rem; line-height: 1; }
.orpg-hd-slot-ic.empty { opacity: 0.45; }
.orpg-hd-slot small { font-size: 0.56rem; color: oklch(0.78 0.03 300); }
.orpg-hd-power { font-family: 'Cinzel', serif; margin: 0.5rem 0 0.2rem; color: oklch(0.9 0.12 92); }
.orpg-hd-power b { font-size: 1.3rem; }
.orpg-hd-stats { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; margin: 0.4rem 0 0.6rem; }
.orpg-hd-stats span { background: oklch(0.2 0.05 295 / 0.7); border: 1px solid oklch(0.55 0.06 300 / 0.3); border-radius: 10px; padding: 0.35rem 0.7rem; color: oklch(0.85 0.04 300); font-size: 0.85rem; }
.orpg-hd-stats b { color: #fff; }
.orpg-hd-ability { color: oklch(0.8 0.04 300); font-size: 0.86rem; margin: 0.2rem 0 0.6rem; }
.orpg-hd-ability strong { color: oklch(0.88 0.1 95); }
.orpg-hd-actions { display: flex; gap: 0.5rem; justify-content: center; flex-wrap: wrap; margin-top: 0.3rem; }
.orpg-hd-ascend, .orpg-hd-auto { width: auto; }
.orpg-hd-set { text-align: center; margin: 0.2rem 0; font-size: 0.82rem; font-weight: 700; color: #ffd86b; text-shadow: 0 0 8px rgba(255,200,90,0.4); }
.orpg-hd-xp { margin: 0.35rem 0; text-align: center; }
.orpg-hd-xp span { font-size: 0.76rem; color: #b9c0d0; }
.orpg-hd-xp.is-max span { color: #ffd86b; font-weight: 700; }
.orpg-hd-xpbar { height: 9px; border-radius: 99px; background: rgba(255,255,255,0.12); overflow: hidden; margin-bottom: 0.2rem; }
.orpg-hd-xpbar i { display: block; height: 100%; background: linear-gradient(90deg, #6be5ff, #9b8bff); transition: width 0.5s ease; }
.orbis-rpg__hcard-xp { height: 4px; border-radius: 99px; background: rgba(255,255,255,0.14); overflow: hidden; margin-top: 4px; }
.orbis-rpg__hcard-xp i { display: block; height: 100%; background: linear-gradient(90deg, #6be5ff, #9b8bff); }

/* ===== Triada (Triple Triad) ===== */
.orpg-tt-overlay { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 1rem; background: radial-gradient(circle at 50% 35%, oklch(0.16 0.06 280 / 0.9), oklch(0.03 0.02 280 / 0.97)); backdrop-filter: blur(7px); animation: orpgSmFade 0.25s ease both; font-family: 'Sora', system-ui, sans-serif; }
.orpg-tt { position: relative; width: min(96vw, 760px); max-height: 95vh; overflow-y: auto; background: linear-gradient(180deg, oklch(0.18 0.05 285 / 0.97), oklch(0.11 0.035 282 / 0.97)); border: 1px solid oklch(0.6 0.12 290 / 0.5); border-radius: 18px; padding: clamp(0.9rem, 2.2vw, 1.6rem); box-shadow: 0 30px 90px rgba(0,0,0,0.6); }
.orpg-tt-loading { padding: 3rem; text-align: center; color: #cdd3e0; }
.orpg-tt-x { position: absolute; top: 0.6rem; right: 0.8rem; background: none; border: none; color: #cdd3e0; font-size: 1.7rem; cursor: pointer; z-index: 5; }
.orpg-tt-head { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; margin-bottom: 0.6rem; flex-wrap: wrap; }
.orpg-tt-head h3 { margin: 0; font-family: 'Cinzel', serif; color: #fff; font-size: 1.3rem; }
.orpg-tt-score { font-size: 1.3rem; font-weight: 800; }
.orpg-tt-score .p { color: #6be5ff; } .orpg-tt-score .a { color: #ff7a7a; }
.orpg-tt-turn { font-size: 0.84rem; color: #ffd86b; min-width: 9rem; text-align: right; }
.orpg-tt-board { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(6px, 1.2vw, 12px); aspect-ratio: 1 / 1; max-width: 460px; margin: 0.6rem auto; }
.orpg-tt-cell { position: relative; border-radius: 10px; border: 2px dashed oklch(0.5 0.05 290 / 0.5); background: oklch(0.1 0.03 285 / 0.5); cursor: default; aspect-ratio: 3 / 4; }
.orpg-tt-cell.avail { border-color: #6be5ff; cursor: pointer; box-shadow: 0 0 12px -2px #6be5ff inset; }
.orpg-tt-cell.avail:hover { background: oklch(0.2 0.06 250 / 0.6); }
.orpg-tt-cell.filled { border-style: solid; padding: 0; }
.orpg-tt-hand { display: flex; gap: clamp(4px, 1vw, 8px); justify-content: center; flex-wrap: wrap; }
.orpg-tt-hand.orpg-tt-ai { opacity: 0.92; margin-bottom: 0.3rem; }
.orpg-tt-hcard { width: clamp(56px, 12vw, 90px); aspect-ratio: 3 / 4; padding: 0; border: none; background: none; cursor: pointer; transition: transform 0.12s; }
.orpg-tt-ai .orpg-tt-hcard { cursor: default; }
.orpg-tt-hcard.sel { transform: translateY(-8px) scale(1.05); filter: drop-shadow(0 0 10px #6be5ff); }
.orpg-tt-slot { width: clamp(56px, 12vw, 90px); aspect-ratio: 3 / 4; border-radius: 8px; background: oklch(1 0 0 / 0.04); }
.orpg-tt-card { position: relative; width: 100%; height: 100%; border-radius: 9px; overflow: hidden; border: 2px solid var(--cc, #888); background: #15101f; box-shadow: 0 3px 10px rgba(0,0,0,0.5); }
.orpg-tt-card img, .orpg-tt-sprite { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.orpg-tt-sprite { background-size: cover; background-position: center; }
.orpg-tt-card.is-player { box-shadow: 0 0 0 2px #2c7bff, 0 0 12px -2px #6be5ff; }
.orpg-tt-card.is-ai { box-shadow: 0 0 0 2px #c0392b, 0 0 12px -2px #ff7a7a; }
.orpg-tt-n { position: absolute; font-weight: 800; font-size: clamp(0.6rem, 1.6vw, 0.85rem); color: #fff; text-shadow: 0 1px 2px #000, 0 0 3px #000; line-height: 1; }
.orpg-tt-n.t { top: 3px; left: 50%; transform: translateX(-50%); }
.orpg-tt-n.b { bottom: 3px; left: 50%; transform: translateX(-50%); }
.orpg-tt-n.l { left: 4px; top: 50%; transform: translateY(-50%); }
.orpg-tt-n.r { right: 4px; top: 50%; transform: translateY(-50%); }
.orpg-tt-end { position: fixed; inset: 0; z-index: 10001; display: flex; align-items: center; justify-content: center; padding: 1rem; background: oklch(0.04 0.02 280 / 0.82); backdrop-filter: blur(3px); animation: orpgSmFade 0.25s ease both; }
.orpg-tt-endbox { text-align: center; padding: 1.6rem 2rem; border-radius: 16px; background: linear-gradient(180deg, oklch(0.2 0.06 285), oklch(0.12 0.04 282)); border: 1px solid oklch(0.6 0.12 290 / 0.5); }
.orpg-tt-endbox.win { border-color: #ffd44d; box-shadow: 0 0 40px -8px #ffd44d; }
.orpg-tt-endbox.lose { border-color: #ff7a7a; }
.orpg-tt-endbox h3 { margin: 0 0 0.3rem; font-family: 'Cinzel', serif; color: #fff; }
.orpg-tt-final { font-size: 1.8rem; font-weight: 800; color: #fff; margin: 0.2rem 0; }
.orpg-tt-reward { color: #ffd86b; font-weight: 700; margin: 0.4rem 0; }
.orpg-tt-endbox small { display: block; color: #9aa3b2; margin-bottom: 0.6rem; }
.orpg-tt-endbtns { display: flex; gap: 0.5rem; justify-content: center; }

/* ===== Triada · rediseño épico ===== */
.orpg-tt {
    background:
        radial-gradient(circle at 50% 0%, oklch(0.32 0.13 295 / 0.55), transparent 60%),
        radial-gradient(circle at 50% 100%, oklch(0.28 0.1 250 / 0.4), transparent 55%),
        linear-gradient(180deg, oklch(0.16 0.05 285 / 0.98), oklch(0.09 0.03 282 / 0.98));
    border: 1px solid transparent;
    border-image: linear-gradient(150deg, oklch(0.78 0.14 95), oklch(0.6 0.16 300), oklch(0.7 0.13 230)) 1;
    box-shadow: 0 30px 100px rgba(0,0,0,0.7), 0 0 60px -20px oklch(0.7 0.15 300 / 0.6);
}
.orpg-tt::before {
    content: ""; position: absolute; inset: 0; border-radius: 18px; pointer-events: none; opacity: 0.5;
    background:
        repeating-linear-gradient(45deg, oklch(1 0 0 / 0.02) 0 2px, transparent 2px 18px),
        repeating-linear-gradient(-45deg, oklch(1 0 0 / 0.015) 0 2px, transparent 2px 18px);
    mix-blend-mode: overlay;
}
.orpg-tt-head h3 {
    background: linear-gradient(92deg, #ffe9a8, #ffd24d 40%, #c98bff);
    -webkit-background-clip: text; background-clip: text; color: transparent;
    text-shadow: 0 2px 14px oklch(0.7 0.15 95 / 0.4); letter-spacing: 0.04em;
}
.orpg-tt-score { padding: 0.2rem 0.7rem; border-radius: 999px; background: oklch(0.1 0.03 285 / 0.7); border: 1px solid oklch(1 0 0 / 0.1); }
.orpg-tt-score .p { text-shadow: 0 0 10px oklch(0.7 0.16 250 / 0.8); }
.orpg-tt-score .a { text-shadow: 0 0 10px oklch(0.65 0.2 25 / 0.8); }
.orpg-tt-turn { padding: 0.25rem 0.7rem; border-radius: 999px; background: oklch(0.22 0.07 90 / 0.35); border: 1px solid oklch(0.7 0.13 95 / 0.4); animation: ttTurnPulse 2.2s ease-in-out infinite; }
@keyframes ttTurnPulse { 50% { box-shadow: 0 0 14px -2px oklch(0.8 0.14 95 / 0.7); } }

.orpg-tt-board {
    padding: clamp(8px, 1.6vw, 16px); border-radius: 16px;
    background:
        radial-gradient(circle at 50% 50%, oklch(0.26 0.08 280 / 0.5), oklch(0.12 0.04 285 / 0.7)),
        oklch(0.1 0.03 285 / 0.6);
    border: 1px solid oklch(0.6 0.12 290 / 0.35);
    box-shadow: inset 0 0 50px -10px oklch(0.5 0.12 290 / 0.5), inset 0 0 0 1px oklch(1 0 0 / 0.04);
    max-width: 480px;
    perspective: 900px;
}
.orpg-tt-cell { background: oklch(0.08 0.025 285 / 0.6); border: 2px solid oklch(0.45 0.06 290 / 0.4); transition: box-shadow 0.2s, border-color 0.2s, background 0.2s; }
.orpg-tt-cell.avail { border-color: oklch(0.8 0.14 230); border-style: solid; box-shadow: 0 0 0 1px oklch(0.8 0.14 230 / 0.5), 0 0 18px -2px oklch(0.75 0.15 230 / 0.7) inset; animation: ttAvail 1.4s ease-in-out infinite; }
@keyframes ttAvail { 50% { box-shadow: 0 0 0 1px oklch(0.85 0.15 230 / 0.7), 0 0 26px -2px oklch(0.8 0.16 230 / 0.9) inset; } }

.orpg-tt-card { border-width: 3px; border-radius: 10px; }
.orpg-tt-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 8px; background: linear-gradient(160deg, oklch(1 0 0 / 0.22), transparent 38%, transparent 70%, oklch(0 0 0 / 0.35)); }
.orpg-tt-card.is-player { border-color: #5cc8ff; box-shadow: 0 0 0 1px oklch(0.7 0.16 250 / 0.6), 0 0 16px -3px #5cc8ff, 0 4px 12px rgba(0,0,0,0.5); }
.orpg-tt-card.is-ai { border-color: #ff6b6b; box-shadow: 0 0 0 1px oklch(0.65 0.2 25 / 0.6), 0 0 16px -3px #ff6b6b, 0 4px 12px rgba(0,0,0,0.5); }

.orpg-tt-n {
    min-width: 1.05em; text-align: center; padding: 0.05em 0.18em; border-radius: 5px;
    background: linear-gradient(180deg, oklch(0.28 0.05 285 / 0.9), oklch(0.14 0.03 285 / 0.95));
    border: 1px solid oklch(1 0 0 / 0.18); box-shadow: 0 1px 3px rgba(0,0,0,0.6);
    font-family: 'Sora', sans-serif;
}
.orpg-tt-card.is-player .orpg-tt-n { border-color: oklch(0.7 0.14 250 / 0.6); }
.orpg-tt-card.is-ai .orpg-tt-n { border-color: oklch(0.65 0.2 25 / 0.6); }

.orpg-tt-hcard { transition: transform 0.14s ease, filter 0.14s ease; }
.orpg-tt-pl .orpg-tt-hcard:hover { transform: translateY(-6px) scale(1.04); filter: drop-shadow(0 6px 14px oklch(0.7 0.16 250 / 0.6)); }
.orpg-tt-hcard.sel { filter: drop-shadow(0 0 14px #5cc8ff); }
.orpg-tt-hcard.sel::after { content: "▲"; position: absolute; bottom: -16px; left: 50%; transform: translateX(-50%); color: #5cc8ff; font-size: 0.8rem; animation: ttSelBob 0.8s ease-in-out infinite; }
@keyframes ttSelBob { 50% { transform: translateX(-50%) translateY(-3px); } }

.tt-drop { animation: ttDrop 0.42s cubic-bezier(0.2, 0.9, 0.3, 1.4); transform-origin: center; }
@keyframes ttDrop { 0% { transform: translateY(-46px) scale(1.25) rotate(-6deg); opacity: 0; } 60% { opacity: 1; } 100% { transform: none; } }
.tt-flip { animation: ttFlip 0.55s ease, ttFlash 0.55s ease; transform-style: preserve-3d; }
@keyframes ttFlip { 0% { transform: rotateY(0) scale(1); } 45% { transform: rotateY(90deg) scale(1.12); } 55% { transform: rotateY(90deg) scale(1.12); } 100% { transform: rotateY(0) scale(1); } }
@keyframes ttFlash { 30% { filter: brightness(2.2) saturate(1.4); } 100% { filter: none; } }

.orpg-tt-endbox.win { animation: ttWinPop 0.5s cubic-bezier(0.2, 0.9, 0.3, 1.4); }
@keyframes ttWinPop { 0% { transform: scale(0.6); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
.orpg-tt-endbox.win h3 { background: linear-gradient(92deg, #fff1c0, #ffce4d, #ff9a3c); -webkit-background-clip: text; background-clip: text; color: transparent; }
.orpg-tt-final { text-shadow: 0 0 18px oklch(0.7 0.15 290 / 0.6); }
@media (prefers-reduced-motion: reduce) { .tt-drop, .tt-flip, .orpg-tt-turn, .orpg-tt-cell.avail, .orpg-tt-endbox.win, .orpg-tt-hcard.sel::after { animation: none !important; } }

/* ===== Triada · pulido 2 ===== */
.orpg-tt-board { position: relative; }
.orpg-tt-vs { font-family: 'Cinzel', serif; font-size: 0.7rem; color: #ffd86b; opacity: 0.85; margin: 0 0.15rem; vertical-align: middle; }
.orpg-tt-htitle { display: flex; flex-direction: column; gap: 0.2rem; }
.orpg-tt-rules { display: flex; gap: 0.3rem; flex-wrap: wrap; }
.orpg-tt-rule { font-size: 0.62rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; padding: 0.1rem 0.4rem; border-radius: 999px; border: 1px solid oklch(1 0 0 / 0.14); color: #6a7080; background: oklch(0.12 0.02 285 / 0.5); }
.orpg-tt-rule.on { color: #2a1c06; background: linear-gradient(90deg, #ffe08a, #ffb84d); border-color: transparent; box-shadow: 0 0 10px -3px #ffce6b; }

/* ===== Triada · pantalla de configuración ===== */
.orpg-tt-setup { width: min(95vw, 560px); }
.orpg-tt-setup-in { display: flex; flex-direction: column; gap: 1rem; padding: 0.6rem 0.4rem; }
.orpg-tt-setup-title { font-family: 'Cinzel', serif; text-align: center; margin: 0; font-size: clamp(1.4rem, 4vw, 2rem); background: linear-gradient(92deg, #ffe9a8, #ffd24d 40%, #c98bff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.orpg-tt-cfg { display: flex; flex-direction: column; gap: 0.4rem; }
.orpg-tt-cfg > label { font-family: 'Cinzel', serif; font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: #b79bff; }
.orpg-tt-cfg.is-off { opacity: 0.4; pointer-events: none; }
.orpg-tt-opts { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.orpg-tt-opt { flex: 1 1 0; min-width: 110px; display: flex; flex-direction: column; align-items: center; gap: 0.15rem; padding: 0.7rem 0.6rem; border-radius: 12px; border: 1px solid oklch(1 0 0 / 0.14); background: oklch(0.16 0.04 285 / 0.7); color: #cdd3e0; font-weight: 700; cursor: pointer; transition: transform 0.12s, border-color 0.15s, background 0.15s; }
.orpg-tt-opt span { font-size: 1.5rem; }
.orpg-tt-opt small { font-size: 0.66rem; color: #8b93a5; font-weight: 500; }
.orpg-tt-opt:hover:not(:disabled) { transform: translateY(-2px); background: oklch(0.22 0.05 285 / 0.8); }
.orpg-tt-opt.on { border-color: #6be5ff; background: oklch(0.28 0.09 250 / 0.6); color: #fff; box-shadow: 0 0 16px -4px #6be5ff; }
.orpg-tt-opt.sm { flex: 0 1 auto; min-width: 0; flex-direction: row; padding: 0.4rem 0.8rem; font-size: 0.86rem; }
.orpg-tt-opt.sm span { font-size: 1rem; }
.orpg-tt-opt.is-soon { opacity: 0.45; cursor: default; }
.orpg-tt-opt:disabled:not(.is-soon):not(.on) { opacity: 0.6; }
.orpg-tt-play { width: 100%; margin-top: 0.4rem; font-size: 1.1rem; padding: 0.8rem; background: linear-gradient(90deg, #ffd44d, #ff9a3c); color: #2a1c06; font-weight: 800; }
.orpg-tt-lobby { display: flex; flex-direction: column; align-items: center; gap: 0.8rem; padding: 2.4rem 1.4rem; text-align: center; }
.orpg-tt-lobby h3 { font-family: 'Cinzel', serif; margin: 0; color: #fff; }
.orpg-tt-lobby p { color: #b9c0d0; margin: 0; font-size: 0.86rem; }
.orpg-tt-spinner { width: 54px; height: 54px; border-radius: 50%; border: 4px solid oklch(0.6 0.12 290 / 0.25); border-top-color: #6be5ff; animation: orpgSpin 0.9s linear infinite; }
.orpg-tt-oppname { width: 100%; padding: 0.6rem 0.8rem; border-radius: 10px; border: 1px solid oklch(1 0 0 / 0.18); background: oklch(0.12 0.03 285 / 0.7); color: #fff; font-size: 0.9rem; }
.orpg-tt-oppname::placeholder { color: #7a8092; }
.orpg-tt-oppname:focus { outline: none; border-color: #6be5ff; box-shadow: 0 0 12px -3px #6be5ff; }
/* Elemental */
.orpg-tt-cellel { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: clamp(1.4rem, 4vw, 2.2rem); opacity: 0.16; pointer-events: none; z-index: 0; filter: grayscale(0.2); }
.orpg-tt-cell.filled .orpg-tt-cellel { top: 6px; left: auto; right: 5px; transform: none; font-size: 0.8rem; opacity: 0.85; z-index: 4; text-shadow: 0 1px 3px #000; }
.orpg-tt-cel { position: absolute; top: 4px; left: 5px; font-size: 0.78rem; z-index: 4; opacity: 0.92; text-shadow: 0 1px 3px #000, 0 0 4px #000; pointer-events: none; }
.orpg-tt-hint { display: block; margin-top: 0.4rem; font-size: 0.74rem; color: #c9b46a; line-height: 1.3; }
.orpg-tt-hint b { color: #ffd86b; }
.orpg-tt-friendly { font-family: 'Sora', sans-serif; font-size: 0.62rem; vertical-align: middle; padding: 0.12rem 0.45rem; border-radius: 999px; background: oklch(0.4 0.04 250 / 0.5); color: #9fd0ff; border: 1px solid oklch(0.6 0.08 250 / 0.5); letter-spacing: 0.04em; }

/* Directorio de miembros */
.orpg-mem { margin-top: 1rem; background: rgba(20,16,30,0.5); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 0.8rem 1rem; }
.orpg-mem-search { display: flex; gap: 0.5rem; margin: 0.3rem 0 0.7rem; }
.orpg-mem-q { flex: 1; padding: 0.5rem 0.8rem; border-radius: 9px; border: 1px solid rgba(255,255,255,0.16); background: oklch(0.12 0.03 285 / 0.7); color: #fff; font-size: 0.88rem; }
.orpg-mem-q:focus { outline: none; border-color: #6be5ff; }
.orpg-mem-list { display: flex; flex-direction: column; gap: 0.4rem; max-height: 360px; overflow-y: auto; }
.orpg-mem-row { display: flex; align-items: center; gap: 0.6rem; padding: 0.4rem 0.55rem; background: rgba(255,255,255,0.03); border-radius: 10px; }
.orpg-mem-row.is-me { background: rgba(140,110,255,0.16); }
.orpg-mem-row img { width: 38px; height: 38px; border-radius: 50%; flex: 0 0 auto; }
.orpg-mem-info { flex: 1; min-width: 0; }
.orpg-mem-info b { display: block; color: #e6e9f2; font-size: 0.9rem; }
.orpg-mem-info b em { font-style: normal; color: #ffd86b; font-size: 0.74rem; }
.orpg-mem-info small { color: #9aa3b2; font-size: 0.76rem; }
.orpg-mem-acts { display: flex; gap: 0.25rem; flex: 0 0 auto; }
.orpg-mem-acts button { width: 32px; height: 32px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.16); background: rgba(255,255,255,0.06); cursor: pointer; font-size: 0.95rem; }
.orpg-mem-acts button:hover { background: rgba(255,255,255,0.16); }
.orpg-mem-acts button:disabled { opacity: 0.45; cursor: default; }
.orpg-mem-row [data-mem-view] { cursor: pointer; }
.orpg-mem-row img[data-mem-view] { transition: transform 0.12s; }
.orpg-mem-row:hover img[data-mem-view] { transform: scale(1.08); }
/* Ficha pública */
.orpg-pmodal { position: fixed; inset: 0; z-index: 10002; display: flex; align-items: center; justify-content: center; padding: 1rem; background: oklch(0.04 0.02 280 / 0.82); backdrop-filter: blur(4px); animation: orpgSmFade 0.2s ease both; }
.orpg-pm { position: relative; width: min(94vw, 460px); max-height: 92vh; overflow-y: auto; border-radius: 16px; background: linear-gradient(180deg, oklch(0.16 0.05 285 / 0.98), oklch(0.1 0.03 282 / 0.98)); border: 1px solid var(--accent, #c46bff); box-shadow: 0 30px 90px rgba(0,0,0,0.6); }
.orpg-pm-x { position: absolute; top: 0.5rem; right: 0.7rem; z-index: 3; background: rgba(0,0,0,0.3); border: none; color: #fff; font-size: 1.5rem; cursor: pointer; border-radius: 50%; width: 32px; height: 32px; }
.orpg-pm-head { display: flex; align-items: center; gap: 0.9rem; padding: 1.4rem 1.2rem; border-radius: 16px 16px 0 0; }
.orpg-pm-av { width: 76px; height: 76px; border-radius: 50%; overflow: hidden; flex: 0 0 auto; border: 3px solid var(--accent, #c46bff); box-shadow: 0 0 16px -3px var(--accent, #c46bff); }
.orpg-pm-av img { width: 100%; height: 100%; object-fit: cover; }
.orpg-pm-id h3 { margin: 0; color: #fff; font-family: 'Cinzel', serif; font-size: 1.2rem; }
.orpg-pm-id span { display: block; color: #d6dae6; font-style: italic; font-size: 0.84rem; }
.orpg-pm-id b { display: block; margin-top: 0.2rem; color: var(--accent, #ffd86b); font-size: 0.78rem; letter-spacing: 0.04em; }
.orpg-pm-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; padding: 1rem 1.2rem; }
.orpg-pm-stats div { text-align: center; background: rgba(255,255,255,0.04); border-radius: 10px; padding: 0.5rem 0.2rem; }
.orpg-pm-stats span { font-size: 1.1rem; } .orpg-pm-stats b { display: block; color: #fff; font-size: 1rem; } .orpg-pm-stats small { color: #9aa3b2; font-size: 0.68rem; }
.orpg-pm-cards { padding: 0 1.2rem 0.6rem; } .orpg-pm-cards h4 { margin: 0.2rem 0 0.5rem; color: #b9c0d0; font-size: 0.82rem; }
.orpg-pm-cardrow { display: flex; gap: 0.5rem; }
.orpg-pm-card { flex: 1; aspect-ratio: 3 / 4; border-radius: 8px; overflow: hidden; border: 2px solid var(--rar, #888); position: relative; background: #15101f; }
.orpg-pm-card img, .orpg-pm-sprite { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.orpg-pm-card small { position: absolute; bottom: 0; left: 0; right: 0; background: rgba(0,0,0,0.6); color: #fff; font-size: 0.6rem; padding: 1px 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.orpg-pm-acts { display: flex; gap: 0.4rem; flex-wrap: wrap; padding: 0.4rem 1.2rem 1.2rem; }
.orpg-pm-acts button { flex: 1; font-size: 0.82rem; }

/* ===== Invocar: pity bar + probabilidades + revelado carta a carta ===== */
.orbis-rpg__pity { margin: 0.6rem 0; }
.orbis-rpg__pity-head { display: flex; justify-content: space-between; font-size: 0.8rem; color: #cdd3e0; margin-bottom: 0.3rem; }
.orbis-rpg__pity-head b { color: #c46bff; }
.orbis-rpg__pity-bar { position: relative; height: 12px; border-radius: 999px; background: oklch(1 0 0 / 0.1); overflow: hidden; border: 1px solid oklch(1 0 0 / 0.12); }
.orbis-rpg__pity-bar i { display: block; height: 100%; background: linear-gradient(90deg, #6be5ff, #c46bff, #ffb347); transition: width 0.6s ease; }
.orbis-rpg__pity-mark { position: absolute; top: 0; bottom: 0; width: 2px; background: oklch(1 0 0 / 0.35); }
.orbis-rpg__pity-info { background: none; border: none; color: #8fb8ff; cursor: pointer; font-size: 0.78rem; text-decoration: underline; padding: 0.2rem 0; }
.orbis-rpg__rates { margin: 0.3rem 0 0.6rem; padding: 0.7rem 0.9rem; border-radius: 12px; background: oklch(0.14 0.03 285 / 0.6); border: 1px solid oklch(1 0 0 / 0.1); }
.orbis-rpg__rates h4 { margin: 0 0 0.5rem; font-size: 0.84rem; color: #fff; }
.orbis-rpg__rate-row { display: flex; align-items: center; gap: 0.6rem; margin: 0.25rem 0; font-size: 0.8rem; }
.orbis-rpg__rate-row > span { flex: 0 0 5.5rem; color: var(--rar, #fff); font-weight: 700; }
.orbis-rpg__rate-bar { flex: 1; height: 8px; border-radius: 999px; background: oklch(1 0 0 / 0.08); overflow: hidden; }
.orbis-rpg__rate-bar i { display: block; height: 100%; background: var(--rar, #888); }
.orbis-rpg__rate-row b { flex: 0 0 3rem; text-align: right; color: #fff; }
.orbis-rpg__rates p { margin: 0.5rem 0 0; font-size: 0.74rem; color: #9aa3b2; line-height: 1.4; }
.orbis-rpg__rates b { color: #ffd86b; }
.orpg-sm-card.hidden { animation: none !important; }
.orpg-sm-card.hidden .orpg-sm-cardin { visibility: hidden; }
.orpg-sm-back { position: absolute; inset: 0; z-index: 4; display: flex; align-items: center; justify-content: center; font-size: 2rem; color: var(--rar, #fff); background: linear-gradient(135deg, #241a3e, #0e0a1c); border: 2px solid var(--rar, #555); border-radius: 12px; text-shadow: 0 0 10px var(--rar, #fff); animation: orpgPityPulse 1.5s ease-in-out infinite; }
.orpg-sm-card:not(.hidden) .orpg-sm-back { display: none; }
.orpg-sm-card.flip { animation: orpgSmFlip 0.5s ease both !important; }
@keyframes orpgSmFlip { 0% { transform: rotateY(90deg) scale(0.9); opacity: 0.3; } 100% { transform: none; opacity: 1; } }
@keyframes orpgPityPulse { 50% { box-shadow: 0 0 16px -2px var(--rar, #fff); } }
@media (prefers-reduced-motion: reduce) { .orpg-sm-back, .orpg-sm-card.flip { animation: none !important; } }
.orbis-rpg__summon-free { background: linear-gradient(90deg, #46e6a0, #6be5ff) !important; color: #0a2a1e !important; font-weight: 800; }
.orbis-rpg__summon-free:disabled { background: oklch(0.3 0.02 200 / 0.5) !important; color: #8b93a5 !important; opacity: 1; cursor: default; }
.orbis-rpg__hist { margin-top: 0.6rem; padding: 0.6rem 0.8rem; border-radius: 12px; background: oklch(0.14 0.03 285 / 0.6); border: 1px solid oklch(1 0 0 / 0.1); }
.orbis-rpg__hist-list { display: flex; flex-direction: column; gap: 0.3rem; max-height: 300px; overflow-y: auto; }
.orbis-rpg__hist-row { display: flex; align-items: center; gap: 0.5rem; padding: 0.3rem 0.5rem; border-radius: 8px; background: rgba(255,255,255,0.03); border-left: 3px solid var(--rar, #888); font-size: 0.8rem; }
.orbis-rpg__hist-row b { color: #fff; flex: 1; }
.orbis-rpg__hist-row span { color: var(--rar, #cdd3e0); font-weight: 700; font-size: 0.72rem; }
.orbis-rpg__hist-row small { color: #8b93a5; font-size: 0.68rem; }

/* ===== Perfil 2 columnas ===== */
.orpg-pf-body { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-top: 1rem; }
@media (min-width: 900px) { .orpg-pf-body { grid-template-columns: 0.9fr 1.1fr; align-items: start; } }
.orpg-pf-col { display: flex; flex-direction: column; gap: 1rem; min-width: 0; }
.orpg-pf-card { background: oklch(0.16 0.03 285 / 0.55); border: 1px solid oklch(1 0 0 / 0.1); border-radius: 16px; padding: 1rem 1.1rem; }
.orpg-pf-card h3 { margin: 0 0 0.7rem; font-size: 0.95rem; color: #fff; }
.orpg-pf-faction { display: flex; align-items: center; gap: 0.9rem; border-left: 4px solid var(--fc, #6be5ff); }
.orpg-pf-faction.fac-luz { --fc: #ffd86b; } .orpg-pf-faction.fac-sombra { --fc: #9d6bff; }
.orpg-pf-faction.fac-bestia { --fc: #6be58a; } .orpg-pf-faction.fac-arcano { --fc: #6bb3ff; }
.orpg-pf-facico { font-size: 2.2rem; filter: drop-shadow(0 0 8px var(--fc)); }
.orpg-pf-faction small { color: #9aa3b2; font-size: 0.7rem; letter-spacing: 0.1em; display: block; }
.orpg-pf-faction b { color: #fff; font-size: 1.15rem; }
.orpg-pf-bio p { margin: 0; color: #cdd3e0; font-size: 0.88rem; line-height: 1.5; white-space: pre-wrap; word-break: break-word; }
.orpg-pf-bio em { color: #8b93a5; }
.orpg-pf-favs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.6rem; }
.orpg-pf-fav { position: relative; aspect-ratio: 3/4; border-radius: 12px; overflow: hidden; border: 2px solid var(--rar, #555); background: #0e0a1c; box-shadow: 0 0 14px -4px var(--rar, #000); display: flex; flex-direction: column; justify-content: flex-end; }
.orpg-pf-fav img, .orpg-pf-fav-sprite { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background-size: cover; background-position: center; }
.orpg-pf-fav small { position: relative; z-index: 2; font-size: 0.68rem; color: #fff; padding: 0.2rem 0.3rem; background: linear-gradient(transparent, rgba(0,0,0,0.85)); text-align: center; }
.orpg-pf-fav b { position: absolute; top: 0.25rem; right: 0.3rem; z-index: 2; font-size: 0.62rem; background: rgba(0,0,0,0.6); border-radius: 6px; padding: 0.1rem 0.3rem; color: #ffd86b; }
.orpg-pf-fav.empty { align-items: center; justify-content: center; border-style: dashed; border-color: oklch(1 0 0 / 0.2); background: oklch(1 0 0 / 0.03); }
.orpg-pf-fav.empty span { font-size: 1.6rem; color: oklch(1 0 0 / 0.3); }
.orpg-pf-recs { display: flex; flex-direction: column; gap: 0.55rem; }
.orpg-pf-rec { display: flex; align-items: center; gap: 0.7rem; flex-wrap: wrap; }
.orpg-pf-rec > span { font-size: 1.2rem; width: 1.6rem; text-align: center; }
.orpg-pf-rec b { color: #fff; font-size: 1rem; }
.orpg-pf-rec small { display: block; color: #9aa3b2; font-size: 0.7rem; }
.orpg-pf-recbar { flex: 1 1 100%; height: 7px; border-radius: 999px; background: oklch(1 0 0 / 0.08); overflow: hidden; }
.orpg-pf-recbar i { display: block; height: 100%; background: linear-gradient(90deg, #6be5ff, #c46bff); }
.orpg-pf-cf { background: oklch(1 0 0 / 0.06); border: 1px solid oklch(1 0 0 / 0.12); color: #cdd3e0; border-radius: 999px; padding: 0.3rem 0.7rem; font-size: 0.76rem; cursor: pointer; }
.orpg-pf-cf.is-on { background: linear-gradient(90deg, #6be5ff, #c46bff); color: #0a0f1e; border-color: transparent; font-weight: 700; }
.orpg-pf-cf.is-locked { opacity: 0.5; cursor: not-allowed; }
.orpg-pf-favpicks { display: flex; flex-wrap: wrap; gap: 0.4rem; max-height: 180px; overflow-y: auto; }
.orpg-pf-favpick { width: 46px; height: 60px; padding: 0; border-radius: 8px; overflow: hidden; border: 2px solid oklch(1 0 0 / 0.15); background: #0e0a1c; cursor: pointer; position: relative; }
.orpg-pf-favpick img, .orpg-pf-favpick .orpg-pf-fav-sprite { width: 100%; height: 100%; object-fit: cover; background-size: cover; background-position: center; }
.orpg-pf-favpick.is-on { border-color: #ffd86b; box-shadow: 0 0 10px -1px #ffd86b; }
.orpg-pf-bioinput { resize: vertical; font-family: inherit; }
.orpg-pf-xp { position: relative; height: 16px; border-radius: 999px; background: oklch(0 0 0 / 0.35); overflow: hidden; margin-top: 0.5rem; max-width: 320px; border: 1px solid oklch(1 0 0 / 0.15); }
.orpg-pf-xp i { display: block; height: 100%; background: linear-gradient(90deg, var(--accent, #6be5ff), #c46bff); transition: width 0.6s ease; }
.orpg-pf-xp span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 0.66rem; font-weight: 700; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,0.8); }
.orpg-pf-headbtns { display: flex; flex-direction: column; gap: 0.4rem; }
@media (max-width: 600px) { .orpg-pf-headbtns { flex-direction: row; flex-wrap: wrap; } }
.orpg-pf-rec.is-nav { cursor: pointer; border-radius: 10px; padding: 0.3rem 0.4rem; margin: 0 -0.4rem; transition: background 0.15s; }
.orpg-pf-rec.is-nav:hover { background: oklch(1 0 0 / 0.06); }
.orpg-pf-recgo { margin-left: auto; color: var(--accent, #6be5ff); font-size: 1.3rem; font-style: normal; opacity: 0.6; }
.orpg-pf-rec.is-nav:hover .orpg-pf-recgo { opacity: 1; transform: translateX(2px); }
/* Editor como modal centrado */
.orpg-pf-editor[hidden] { display: none !important; }
.orpg-pf-editor { position: fixed; inset: 0; z-index: 10000; background: rgba(5,5,12,0.78); display: flex; align-items: flex-start; justify-content: center; padding: 4vh 1rem; overflow-y: auto; margin: 0; border: none; }
.orpg-pf-editor-panel { position: relative; width: 100%; max-width: 560px; margin: auto; background: linear-gradient(160deg, #1a1430, #0e0a1c); border: 1px solid oklch(1 0 0 / 0.12); border-radius: 18px; padding: 1.6rem 1.4rem 1.2rem; box-shadow: 0 24px 60px -12px rgba(0,0,0,0.7); animation: orpgEdIn 0.22s ease; }
@keyframes orpgEdIn { from { opacity: 0; transform: translateY(14px) scale(0.98); } to { opacity: 1; transform: none; } }
.orpg-pf-editor-panel header { margin: 0 0 0.9rem; }
.orpg-pf-edclose { position: absolute; top: 0.6rem; right: 0.7rem; width: 34px; height: 34px; border-radius: 50%; border: none; background: oklch(1 0 0 / 0.1); color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer; z-index: 2; }
.orpg-pf-edclose:hover { background: oklch(1 0 0 / 0.2); }
.orpg-pf-edfoot { display: flex; align-items: center; gap: 0.8rem; margin-top: 0.8rem; }
@media (prefers-reduced-motion: reduce) { .orpg-pf-editor-panel { animation: none; } }
/* ===== Misiones diarias: rediseño de tarjetas ===== */
.orbis-rpg__mission-grid { grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)) !important; gap: 0.75rem !important; }
.orbis-rpg__mission-grid article {
  display: flex; flex-direction: column; gap: 0.4rem;
  padding: 0.9rem !important; border-radius: 14px !important;
  background: oklch(0.17 0.035 285 / 0.55) !important;
  border: 1px solid oklch(1 0 0 / 0.08) !important;
  position: relative; overflow: hidden; transition: border-color 0.2s, transform 0.15s;
}
.orbis-rpg__mission-rew {
  display: inline-block; align-self: flex-start;
  font-size: 0.68rem !important; font-weight: 800; color: #ffd86b !important;
  background: oklch(0.8 0.13 90 / 0.14); border: 1px solid oklch(0.8 0.13 90 / 0.3);
  padding: 0.12rem 0.5rem; border-radius: 999px; letter-spacing: 0.01em;
}
.orbis-rpg__mission-grid h3 {
  font-family: 'Cinzel', Georgia, serif; font-size: 0.92rem !important; line-height: 1.15;
  margin: 0.15rem 0 0 !important; color: #fff;
}
.orbis-rpg__mission-grid small { font-size: 0.73rem; line-height: 1.35; color: var(--rpg-muted); flex: 1 0 auto; }
.orbis-rpg__mission-grid .orbis-rpg__mini-bar {
  height: 6px; border-radius: 999px; background: oklch(1 0 0 / 0.08); overflow: hidden; margin: 0.35rem 0 0.1rem;
}
.orbis-rpg__mission-grid .orbis-rpg__mini-bar i { display: block; height: 100%; background: linear-gradient(90deg, #6be5ff, #c46bff); border-radius: 999px; }
.orbis-rpg__mission-grid .orbis-rpg__button {
  width: 100%; margin-top: auto !important; min-height: 38px !important;
  padding: 0 0.6rem !important; font-size: 0.78rem !important; font-weight: 800;
  letter-spacing: 0; white-space: nowrap; border-radius: 10px;
}
/* Estado: completable (resaltado para llamar la atención) */
.orbis-rpg__mission-grid article.is-complete { border-color: oklch(0.85 0.18 95 / 0.6) !important; box-shadow: 0 0 0 1px oklch(0.85 0.18 95 / 0.25) inset, 0 0 18px -6px oklch(0.85 0.18 95 / 0.5); }
.orbis-rpg__mission-grid article.is-complete .orbis-rpg__button { background: linear-gradient(135deg, #f5b53d, #ff8a3d); box-shadow: 0 0 18px -4px rgba(245,181,61,0.6); animation: orpgMissPulse 1.8s ease-in-out infinite; }
@keyframes orpgMissPulse { 50% { box-shadow: 0 0 24px -2px rgba(245,181,61,0.85); } }
/* Estado: reclamada (atenuada con check) */
.orbis-rpg__mission-grid article.is-claimed { opacity: 0.55; }
.orbis-rpg__mission-grid article.is-claimed .orbis-rpg__mini-bar i { background: #5fcf7a; }
@media (prefers-reduced-motion: reduce) { .orbis-rpg__mission-grid article.is-complete .orbis-rpg__button { animation: none; } }

/* ===== Pase de Actividad diario ===== */
.orpg-pass-barwrap { display: flex; align-items: center; gap: 0.7rem; margin: 0.2rem 0 0.9rem; }
.orpg-pass-bar { flex: 1; height: 14px; border-radius: 999px; background: oklch(1 0 0 / 0.1); overflow: hidden; border: 1px solid oklch(1 0 0 / 0.12); }
.orpg-pass-bar i { display: block; height: 100%; background: linear-gradient(90deg, #6be5ff, #c46bff, #ffd24d); transition: width 0.5s ease; }
.orpg-pass-barwrap b { font-size: 0.8rem; color: #ffd86b; white-space: nowrap; }
.orpg-pass-tiers { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 0.6rem; }
.orpg-pass-tier { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; padding: 0.7rem 0.5rem; border-radius: 12px; background: oklch(0.16 0.03 285 / 0.55); border: 1px solid oklch(1 0 0 / 0.08); text-align: center; }
.orpg-pass-ap { font-size: 0.66rem; font-weight: 800; color: #9aa3b2; letter-spacing: 0.03em; }
.orpg-pass-rew { font-size: 0.82rem; font-weight: 800; color: #fff; flex: 1; display: flex; align-items: center; }
.orpg-pass-tier.is-locked { opacity: 0.5; }
.orpg-pass-tier.is-ready { border-color: oklch(0.85 0.18 95 / 0.6); box-shadow: 0 0 16px -5px oklch(0.85 0.18 95 / 0.6); }
.orpg-pass-tier.is-ready .orpg-pass-ap { color: #ffd24d; }
.orpg-pass-tier.is-claimed { opacity: 0.7; }
.orpg-pass-claim { min-height: 32px !important; padding: 0 0.7rem !important; font-size: 0.74rem !important; width: 100%; animation: orpgMissPulse 1.8s ease-in-out infinite; }
.orpg-pass-ok { font-size: 0.72rem; color: #5fcf7a; font-weight: 700; }
.orpg-pass-need { font-size: 0.7rem; color: #8b93a5; }

/* ===== Sellos: tarjeta de recurso + tienda ===== */
.orbis-rpg__card--seal strong { color: #ffd24d; }
.orbis-rpg__seal-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.7rem; }
.orpg-seal-item { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; text-align: center; padding: 0.9rem 0.7rem; border-radius: 14px; background: oklch(0.16 0.03 285 / 0.55); border: 1px solid oklch(0.85 0.18 95 / 0.25); }
.orpg-seal-ico { font-size: 1.8rem; filter: drop-shadow(0 0 8px oklch(0.85 0.18 95 / 0.5)); }
.orpg-seal-item strong { color: #fff; font-size: 0.92rem; }
.orpg-seal-item small { color: var(--rpg-muted); font-size: 0.72rem; flex: 1; }
.orpg-seal-lim { color: #8fb8ff !important; font-weight: 700; }
.orpg-seal-item .orbis-rpg__button { width: 100%; min-height: 36px !important; font-size: 0.82rem !important; }

/* ===== Ruta de objetivos encadenados ===== */
.orpg-route-cur { padding: 0.9rem 1rem; border-radius: 14px; background: oklch(0.16 0.03 285 / 0.55); border: 1px solid oklch(1 0 0 / 0.1); }
.orpg-route-cur.is-ready { border-color: oklch(0.85 0.18 95 / 0.6); box-shadow: 0 0 18px -5px oklch(0.85 0.18 95 / 0.55); }
.orpg-route-step { font-size: 0.66rem; font-weight: 800; letter-spacing: 0.06em; color: #8fb8ff; }
.orpg-route-cur h4 { margin: 0.2rem 0 0.6rem; font-size: 1.05rem; color: #fff; }
.orpg-route-bar { height: 10px; border-radius: 999px; background: oklch(1 0 0 / 0.1); overflow: hidden; }
.orpg-route-bar i { display: block; height: 100%; background: linear-gradient(90deg, #6be5ff, #c46bff); transition: width 0.5s ease; }
.orpg-route-foot { display: flex; justify-content: space-between; align-items: center; margin: 0.45rem 0 0.6rem; font-size: 0.82rem; }
.orpg-route-foot span { color: #cdd3e0; font-weight: 700; }
.orpg-route-foot b { color: #ffd86b; }
.orpg-route-claim { width: 100%; min-height: 40px !important; animation: orpgMissPulse 1.8s ease-in-out infinite; }
.orpg-route-hint { font-size: 0.74rem; color: #8b93a5; text-align: center; padding: 0.3rem 0; }
.orpg-route-map { display: flex; align-items: center; gap: 0.35rem; margin-top: 0.7rem; flex-wrap: wrap; }
.orpg-route-map i { width: 11px; height: 11px; border-radius: 50%; background: oklch(1 0 0 / 0.15); }
.orpg-route-map i.is-claimed { background: #5fcf7a; }
.orpg-route-map i.is-current { background: #ffd24d; box-shadow: 0 0 8px #ffd24d; }
.orpg-route-done { padding: 1.2rem; text-align: center; color: #ffd86b; font-weight: 700; background: oklch(0.16 0.03 285 / 0.55); border-radius: 14px; border: 1px solid oklch(0.85 0.18 95 / 0.4); }

/* Progreso en 2 columnas (masonry) en escritorio */
@media (min-width: 900px) {
  .orpg-prog-grid { column-count: 2; column-gap: 1.1rem; }
  .orpg-prog-grid > [data-tab="progreso"] { break-inside: avoid; -webkit-column-break-inside: avoid; margin: 0 0 1.1rem; width: 100%; }
  /* El bloque hero (recompensa diaria + resumen) ocupa todo el ancho arriba */
  .orpg-prog-grid > .orbis-rpg__main { column-span: all; -webkit-column-span: all; }
}
.orpg-pm-bio { margin: 0.6rem 1rem 0; padding: 0.6rem 0.8rem; background: oklch(1 0 0 / 0.05); border-radius: 10px; color: #cdd3e0; font-size: 0.82rem; line-height: 1.45; font-style: italic; white-space: pre-wrap; word-break: break-word; }

.orpg-tt-score b { display: inline-block; transition: transform 0.1s; }
.orpg-tt-score b.pop { animation: ttScorePop 0.45s cubic-bezier(0.2, 0.9, 0.3, 1.6); }
@keyframes ttScorePop { 0% { transform: scale(1); } 35% { transform: scale(1.7); } 100% { transform: scale(1); } }
.orpg-tt-side-lbl { font-family: 'Cinzel', serif; font-size: 0.74rem; letter-spacing: 0.1em; text-align: center; margin: 0.15rem 0; opacity: 0.85; }
.orpg-tt-side-lbl.ai { color: #ff9a9a; } .orpg-tt-side-lbl.pl { color: #8fd8ff; }
.orpg-tt-pop { position: absolute; top: 42%; left: 50%; transform: translate(-50%, -50%); font-family: 'Cinzel', serif; font-weight: 800; font-size: clamp(1.6rem, 5vw, 2.6rem); pointer-events: none; z-index: 6; text-shadow: 0 2px 10px #000; animation: ttPopText 0.95s ease forwards; }
.orpg-tt-pop.pl { color: #6be5ff; } .orpg-tt-pop.ai { color: #ff7a7a; }
@keyframes ttPopText { 0% { transform: translate(-50%, -30%) scale(0.4); opacity: 0; } 25% { transform: translate(-50%, -55%) scale(1.15); opacity: 1; } 100% { transform: translate(-50%, -120%) scale(1); opacity: 0; } }
.orpg-tt-spark { position: absolute; inset: 0; pointer-events: none; z-index: 5; border-radius: 9px; background: radial-gradient(circle at 50% 50%, oklch(1 0 0 / 0.9), transparent 60%); animation: ttSpark 0.7s ease forwards; }
@keyframes ttSpark { 0% { opacity: 0.95; transform: scale(0.4); } 100% { opacity: 0; transform: scale(1.4); } }
.orpg-tt-card.tt-would { outline: 3px solid #7CFFB2; outline-offset: -1px; box-shadow: 0 0 18px -2px #7CFFB2 !important; }
.orpg-tt-cell.tt-preview { border-color: #7CFFB2 !important; box-shadow: 0 0 0 1px #7CFFB2, 0 0 22px -2px oklch(0.85 0.18 150 / 0.8) inset !important; }
.orpg-tt-banner { position: absolute; top: 44%; left: 0; right: 0; text-align: center; font-family: 'Cinzel', serif; font-weight: 800; font-size: clamp(1.4rem, 5vw, 2.4rem); pointer-events: none; opacity: 0; z-index: 7; }
.orpg-tt-banner.pl { color: #8fd8ff; text-shadow: 0 0 18px oklch(0.7 0.16 250 / 0.9), 0 2px 8px #000; }
.orpg-tt-banner.ai { color: #ff9a9a; text-shadow: 0 0 18px oklch(0.65 0.2 25 / 0.9), 0 2px 8px #000; }
.orpg-tt-banner.show { animation: ttBanner 1s ease forwards; }
@keyframes ttBanner { 0% { opacity: 0; transform: translateX(-40px) skewX(-12deg); } 18% { opacity: 1; transform: translateX(0) skewX(-12deg); } 78% { opacity: 1; } 100% { opacity: 0; transform: translateX(40px) skewX(-12deg); } }
@media (prefers-reduced-motion: reduce) { .orpg-tt-pop, .orpg-tt-spark, .orpg-tt-banner.show, .orpg-tt-score b.pop { animation: none !important; } .orpg-tt-banner { display: none; } }

/* ===== Triada · fondo de partículas + rival ===== */
.orpg-tt > *:not(.orpg-tt-motes) { position: relative; z-index: 1; }
.orpg-tt-motes { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; border-radius: 18px; }
.orpg-tt-motes i { position: absolute; width: var(--s, 3px); height: var(--s, 3px); border-radius: 50%; background: radial-gradient(circle, oklch(0.92 0.12 95 / 0.9), oklch(0.7 0.16 300 / 0.3) 60%, transparent 70%); box-shadow: 0 0 8px oklch(0.85 0.13 95 / 0.6); animation: ttMote linear infinite; }
@keyframes ttMote { 0% { transform: translateY(8px) scale(0.8); opacity: 0; } 20% { opacity: 0.9; } 80% { opacity: 0.7; } 100% { transform: translateY(-42px) scale(1.1); opacity: 0; } }
.orpg-tt-rival { display: flex; align-items: center; gap: 0.6rem; margin: 0.2rem auto 0.4rem; max-width: 480px; padding: 0.4rem 0.7rem; border-radius: 12px; background: linear-gradient(90deg, oklch(0.22 0.08 25 / 0.5), oklch(0.14 0.04 285 / 0.3)); border: 1px solid oklch(0.6 0.16 25 / 0.4); }
.orpg-tt-rav { font-size: 1.8rem; flex: 0 0 auto; filter: drop-shadow(0 0 8px oklch(0.65 0.2 25 / 0.6)); animation: ttRavBob 3s ease-in-out infinite; }
@keyframes ttRavBob { 50% { transform: translateY(-3px) rotate(-3deg); } }
.orpg-tt-rinfo { display: flex; flex-direction: column; min-width: 0; }
.orpg-tt-rinfo b { color: #ff9a9a; font-family: 'Cinzel', serif; font-size: 0.92rem; }
.orpg-tt-say { font-size: 0.8rem; color: #d6dae6; font-style: italic; min-height: 1.1em; opacity: 0; }
.orpg-tt-say.show { animation: ttSay 0.4s ease forwards; }
@keyframes ttSay { 0% { opacity: 0; transform: translateX(-6px); } 100% { opacity: 0.95; transform: none; } }
.orpg-tt-rsay { margin: 0.4rem 0 0.2rem; font-style: italic; color: #ffb3b3; font-size: 0.84rem; }
@media (prefers-reduced-motion: reduce) { .orpg-tt-motes i, .orpg-tt-rav, .orpg-tt-say.show { animation: none !important; } .orpg-tt-say { opacity: 0.95; } }

/* ===== Triada · arrastrar y soltar + entrada ===== */
.orpg-tt-pl .orpg-tt-hcard { cursor: grab; }
.orpg-tt-pl .orpg-tt-hcard:active { cursor: grabbing; }
.orpg-tt-hcard.dragging { opacity: 0.35; transform: scale(0.92); filter: grayscale(0.3); }
.orpg-tt-board.tt-intro .orpg-tt-cell { animation: ttCellIn 0.4s ease both; }
.orpg-tt-board.tt-intro .orpg-tt-cell:nth-child(1) { animation-delay: 0.02s; } .orpg-tt-board.tt-intro .orpg-tt-cell:nth-child(2) { animation-delay: 0.06s; } .orpg-tt-board.tt-intro .orpg-tt-cell:nth-child(3) { animation-delay: 0.10s; }
.orpg-tt-board.tt-intro .orpg-tt-cell:nth-child(4) { animation-delay: 0.14s; } .orpg-tt-board.tt-intro .orpg-tt-cell:nth-child(5) { animation-delay: 0.18s; } .orpg-tt-board.tt-intro .orpg-tt-cell:nth-child(6) { animation-delay: 0.22s; }
.orpg-tt-board.tt-intro .orpg-tt-cell:nth-child(7) { animation-delay: 0.26s; } .orpg-tt-board.tt-intro .orpg-tt-cell:nth-child(8) { animation-delay: 0.30s; } .orpg-tt-board.tt-intro .orpg-tt-cell:nth-child(9) { animation-delay: 0.34s; }
@keyframes ttCellIn { 0% { opacity: 0; transform: scale(0.6) translateY(10px); } 100% { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .orpg-tt-board.tt-intro .orpg-tt-cell { animation: none !important; } }

/* ===== Triada · layout sin scroll (manos a los lados, tablero por altura) ===== */
.orpg-tt { overflow: hidden; max-height: 97vh; display: flex; flex-direction: column; width: min(97vw, 1040px); }
.orpg-tt-arena { display: flex; align-items: center; justify-content: center; gap: clamp(10px, 1.8vw, 30px); flex: 1; min-height: 0; }
.orpg-tt-col { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; }
.orpg-tt-col .orpg-tt-hand { flex-direction: column; gap: clamp(5px, 1vh, 11px); flex-wrap: nowrap; }
.orpg-tt-col .orpg-tt-hcard, .orpg-tt-col .orpg-tt-slot { width: clamp(52px, 10vh, 94px); }
.orpg-tt-board { height: min(75vh, 700px); width: auto; max-width: none; aspect-ratio: 3 / 4; grid-template-rows: repeat(3, 1fr); margin: 0; }
.orpg-tt-board .orpg-tt-cell { aspect-ratio: auto; }
.orpg-tt-head { flex-wrap: nowrap; }
.orpg-tt-rival { margin: 0.2rem auto 0.3rem; }
@media (max-width: 720px) {
    .orpg-tt-arena { flex-direction: column; gap: 0.4rem; }
    .orpg-tt-col { flex-direction: column; width: 100%; }
    .orpg-tt-col .orpg-tt-hand { flex-direction: row; flex-wrap: wrap; }
    .orpg-tt-col .orpg-tt-hcard, .orpg-tt-col .orpg-tt-slot { width: clamp(46px, 14vw, 66px); }
    .orpg-tt-board { height: auto; width: min(90vw, 340px); }
    .orpg-tt { overflow-y: auto; }
}
.orpg-hd-points { margin: 0.5rem 0; padding: 0.5rem 0.7rem; border-radius: 10px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); }
.orpg-hd-phead { display: flex; align-items: center; gap: 0.4rem; font-size: 0.82rem; color: #cdd3e0; margin-bottom: 0.35rem; }
.orpg-hd-phead b { color: #fff; }
.orpg-hd-phead b.glow { color: #7be5a0; text-shadow: 0 0 8px rgba(120,230,160,0.6); }
.orpg-hd-preset { margin-left: auto; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.18); color: #cdd3e0; border-radius: 7px; width: 26px; height: 24px; cursor: pointer; font-size: 0.9rem; }
.orpg-hd-preset:hover { background: rgba(255,120,120,0.2); }
.orpg-hd-prow { display: flex; align-items: center; gap: 0.45rem; padding: 0.18rem 0; font-size: 0.84rem; }
.orpg-hd-plbl { flex: 0 0 33%; color: #e6e9f2; }
.orpg-hd-pgain { flex: 1; color: #8ff0b0; font-weight: 700; font-size: 0.78rem; }
.orpg-hd-pval { min-width: 1.6rem; text-align: center; color: #fff; }
.orpg-hd-pbtn { width: 26px; height: 26px; border-radius: 7px; border: 1px solid rgba(255,255,255,0.2); background: rgba(255,255,255,0.06); color: #fff; font-size: 1.05rem; line-height: 1; cursor: pointer; }
.orpg-hd-pbtn.add { border-color: rgba(120,230,160,0.5); color: #8ff0b0; }
.orpg-hd-pbtn:hover:not(:disabled) { background: rgba(255,255,255,0.16); }
.orpg-hd-pbtn:disabled { opacity: 0.3; cursor: default; }
.orpg-hd-pickrow { display: flex; gap: 0.35rem; align-items: stretch; }
.orpg-hd-pickrow .orpg-hd-pick { flex: 1; }
.orpg-hd-forge { flex: 0 0 auto; border: 1px solid rgba(255,190,80,0.5); background: rgba(255,170,40,0.14); color: #ffce6b; border-radius: 8px; padding: 0 0.6rem; font-weight: 800; cursor: pointer; white-space: nowrap; }
.orpg-hd-forge:hover { background: rgba(255,170,40,0.28); }
.orpg-hd-pick.is-current { outline: 1px solid rgba(120,230,160,0.6); }
.orpg-cmp { font-style: normal; font-weight: 900; margin-right: 0.25rem; }
.orpg-cmp.up { color: #6be59a; }
.orpg-cmp.down { color: #ff7a7a; }
.orpg-cmp.eq { color: #9aa3b2; }
.orbis-rpg__hcard-needgear { position: absolute; top: 6px; right: 6px; background: rgba(20,16,28,0.82); border: 1px solid rgba(255,210,110,0.55); color: #ffd86b; font-size: 0.7rem; font-weight: 800; padding: 1px 6px; border-radius: 999px; z-index: 3; }
.orbis-rpg__inv-tools { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; justify-content: space-between; margin-bottom: 0.6rem; }
.orbis-rpg__inv-chips { display: flex; flex-wrap: wrap; gap: 0.3rem; }
.orbis-rpg__inv-chip { border: 1px solid rgba(255,255,255,0.16); background: rgba(255,255,255,0.05); color: #cdd3e0; border-radius: 999px; padding: 0.2rem 0.6rem; font-weight: 700; cursor: pointer; font-size: 0.82rem; }
.orbis-rpg__inv-chip:hover { background: rgba(255,255,255,0.12); }
.orbis-rpg__inv-chip.is-on { background: rgba(140,110,255,0.32); border-color: rgba(170,150,255,0.7); color: #fff; }
.orbis-rpg__inv-sell { font-size: 0.82rem; }
.orbis-rpg__inv-actions { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
.orbis-rpg__inv-auto { font-size: 0.82rem; }
.orbis-rpg__inv-sort { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.16); color: #cdd3e0; border-radius: 8px; padding: 0.2rem 0.5rem; font-weight: 700; font-size: 0.82rem; cursor: pointer; }
.orbis-rpg__inv-sort option { background: #1a1320; color: #e8e8f0; }
.orpg-feed { margin-top: 1rem; background: rgba(20,16,30,0.5); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 0.8rem 1rem; }
.orpg-feed-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.5rem; }
.orpg-feed-h h3 { margin: 0; font-size: 1rem; }
.orpg-feed-refresh { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.16); color: #cdd3e0; border-radius: 8px; width: 30px; height: 30px; cursor: pointer; font-size: 1rem; }
.orpg-feed-refresh:hover { background: rgba(255,255,255,0.14); }
.orpg-feed-refresh.is-spin { animation: orpgSpin 0.7s linear infinite; }
@keyframes orpgSpin { to { transform: rotate(360deg); } }
.orpg-feed-list { display: flex; flex-direction: column; gap: 0.4rem; max-height: 320px; overflow-y: auto; }
.orpg-feed-row { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.45rem 0.55rem; background: rgba(255,255,255,0.03); border-radius: 10px; }
.orpg-feed-ic { font-size: 1.1rem; flex: 0 0 auto; }
.orpg-feed-tx { font-size: 0.86rem; line-height: 1.35; color: #d6dae6; }
.orpg-feed-tx b { color: #ffd86b; }
.orpg-feed-fac { margin-right: 0.2rem; }
.orpg-feed-title { color: #b79bff; font-style: italic; font-size: 0.78rem; }
.orpg-lb-who { display: flex; flex-direction: column; line-height: 1.15; }
.orpg-lb-title { color: #b79bff; font-style: italic; font-weight: 600; font-size: 0.7rem; }
.orpg-feed-tx small { display: block; color: #8b93a5; font-size: 0.72rem; margin-top: 1px; }
.orpg-feed-row { align-items: center; }
.orpg-feed-tx { flex: 1; }
.orpg-feed-clap { flex: 0 0 auto; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.16); border-radius: 8px; width: 32px; height: 32px; cursor: pointer; font-size: 1rem; transition: transform 0.12s; }
.orpg-feed-clap:hover { background: rgba(255,200,90,0.18); transform: scale(1.12); }
.orpg-feed-clap.done { background: rgba(120,230,160,0.22); border-color: rgba(120,230,160,0.6); color: #8ff0b0; cursor: default; }
.orpg-wboss { margin: 0.8rem 0; padding: 1rem; border-radius: 16px; background: linear-gradient(160deg, rgba(30,18,40,0.92), rgba(18,12,26,0.92)); border: 1px solid var(--wb, #b066ff); box-shadow: 0 0 24px -8px var(--wb, #b066ff); }
.orpg-wboss-head { display: flex; align-items: center; gap: 0.7rem; margin-bottom: 0.6rem; }
.orpg-wboss-ico { font-size: 2.4rem; filter: drop-shadow(0 0 10px var(--wb, #b066ff)); animation: orpgWbFloat 2.6s ease-in-out infinite; }
@keyframes orpgWbFloat { 50% { transform: translateY(-5px); } }
.orpg-wboss-head p { margin: 0; font-size: 0.66rem; letter-spacing: 0.12em; color: var(--wb, #b066ff); font-weight: 800; }
.orpg-wboss-head h3 { margin: 0; font-size: 1.1rem; color: #fff; }
.orpg-wboss-bar { position: relative; height: 22px; border-radius: 999px; background: rgba(0,0,0,0.45); overflow: hidden; border: 1px solid rgba(255,255,255,0.12); }
.orpg-wboss-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--wb, #b066ff), #ff4d6d); transition: width 0.6s ease; }
.orpg-wboss-bar span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 0.72rem; font-weight: 800; color: #fff; text-shadow: 0 1px 3px #000; }
.orpg-wboss-stats { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; margin: 0.6rem 0; font-size: 0.82rem; color: #cdd3e0; }
.orpg-wboss-stats b { color: #fff; }
.orpg-wboss-top { display: flex; flex-direction: column; gap: 0.2rem; margin-bottom: 0.6rem; font-size: 0.8rem; color: #b9c0d0; }
.orpg-wboss-top > div { display: flex; gap: 0.4rem; padding: 0.25rem 0.5rem; border-radius: 7px; background: rgba(255,255,255,0.03); }
.orpg-wboss-top > div.is-me { background: rgba(176,102,255,0.18); color: #fff; }
.orpg-wboss-top span { color: #8b93a5; font-weight: 800; }
.orpg-wboss-top b { margin-left: auto; color: #ffd86b; }
.orpg-wboss-hit { width: 100%; }
.orpg-wboss-mission { margin: 0.5rem 0; padding: 0.5rem 0.6rem; border-radius: 10px; background: rgba(255,255,255,0.04); }
.orpg-wboss-mtx { font-size: 0.8rem; color: #d6dae6; margin-bottom: 0.3rem; }
.orpg-wboss-mtx b { color: #fff; }
.orpg-wboss-mclaim { width: 100%; margin-top: 0.4rem; }
.orpg-wboss-mdone { display: block; margin-top: 0.3rem; font-size: 0.78rem; color: #8ff0b0; font-weight: 700; }
.orpg-wboss-adv { font-size: 0.8rem; font-weight: 700; margin-bottom: 0.5rem; padding: 0.3rem 0.5rem; border-radius: 8px; }
.orpg-wboss-adv.up { color: #8ff0b0; background: rgba(120,230,160,0.12); }
.orpg-wboss-adv.down { color: #ff9a9a; background: rgba(255,120,120,0.12); }
.orpg-wboss-claim { background: linear-gradient(90deg, #ffd44d, #ff9a3c); color: #2a1c06; font-weight: 800; animation: orpgWbFloat 1.6s ease-in-out infinite; }
.orpg-fw { margin-top: 1rem; background: rgba(20,16,30,0.5); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 0.8rem 1rem; }
.orpg-fw-h { display: flex; align-items: center; justify-content: space-between; }
.orpg-fw-h h3 { margin: 0; font-size: 1rem; }
.orpg-fw-sub { margin: 0.2rem 0 0.7rem; font-size: 0.82rem; color: #b9c0d0; }
.orpg-fw-list { display: flex; flex-direction: column; gap: 0.4rem; }
.orpg-fw-row { display: flex; align-items: center; gap: 0.6rem; padding: 0.45rem 0.6rem; background: rgba(255,255,255,0.03); border-radius: 10px; border-left: 3px solid var(--fc, #888); }
.orpg-fw-row.is-me { background: color-mix(in srgb, var(--fc, #888) 18%, transparent); }
.orpg-fw-medal { flex: 0 0 auto; font-size: 1rem; min-width: 1.5rem; }
.orpg-fw-name { flex: 0 0 38%; font-weight: 700; color: #e6e9f2; font-size: 0.86rem; }
.orpg-fw-name em { font-style: normal; color: #ffd86b; font-size: 0.74rem; }
.orpg-fw-bar { flex: 1; height: 10px; border-radius: 999px; background: rgba(0,0,0,0.4); overflow: hidden; }
.orpg-fw-bar i { display: block; height: 100%; background: var(--fc, #888); transition: width 0.6s ease; }
.orpg-fw-pts { flex: 0 0 auto; min-width: 3rem; text-align: right; color: #fff; font-size: 0.86rem; }
.orpg-fw-champ { margin-bottom: 0.5rem; padding: 0.5rem 0.7rem; border-radius: 10px; background: rgba(255,210,90,0.1); border: 1px solid rgba(255,210,90,0.3); font-size: 0.84rem; color: #ffe3a0; }
.orpg-fw-champ.can { display: flex; flex-direction: column; gap: 0.5rem; align-items: flex-start; background: rgba(255,180,40,0.16); border-color: rgba(255,200,80,0.6); }
.orpg-fw-champ.can button { width: 100%; background: linear-gradient(90deg, #ffd44d, #ff9a3c); color: #2a1c06; font-weight: 800; }
.orpg-fw-champ b { color: #fff; }
/* Estandarte de campeón (estilo Dominance) */
.orpg-fw-banner { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 0.5rem; padding: 0.7rem 0.9rem; border-radius: 12px;
    background: linear-gradient(120deg, color-mix(in srgb, var(--fc,#ffd76a) 30%, transparent), rgba(20,16,30,0.4) 70%);
    border: 1px solid color-mix(in srgb, var(--fc,#ffd76a) 55%, transparent);
    box-shadow: inset 0 0 24px -6px color-mix(in srgb, var(--fc,#ffd76a) 60%, transparent); }
.orpg-fw-crest { flex: 0 0 auto; width: 48px; height: 48px; display: grid; place-items: center; font-size: 1.8rem; border-radius: 50%;
    background: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--fc,#ffd76a) 55%, transparent), rgba(0,0,0,0.35));
    border: 2px solid var(--fc,#ffd76a); box-shadow: 0 0 16px -2px var(--fc,#ffd76a); }
.orpg-fw-btxt { display: flex; flex-direction: column; gap: 0.1rem; }
.orpg-fw-btxt small { font-size: 0.64rem; letter-spacing: 0.14em; color: #cbb98a; text-transform: uppercase; }
.orpg-fw-btxt b { font-size: 1.05rem; color: #fff; font-family: 'Cinzel', serif; }
.orpg-fw-buff { font-size: 0.76rem; color: #c9cede; }
.orpg-fw-buff.on { color: #9be89b; font-weight: 700; }
.orpg-fw-claim { width: 100%; margin-bottom: 0.5rem; background: linear-gradient(90deg, #ffd44d, #ff9a3c); color: #2a1c06; font-weight: 800; }
.orpg-fw-claimed { margin-bottom: 0.5rem; font-size: 0.8rem; color: #9be89b; }
.orpg-fw-cd { margin-bottom: 0.6rem; font-size: 0.82rem; color: #b9c0d0; text-align: center; }
.orpg-fw-cd b { color: #ffd86b; font-variant-numeric: tabular-nums; }
.orpg-fw-hint { color: #8b93a7; font-size: 0.74rem; }

/* ===== Santuario de Fusión (cría de cartas) ===== */
.orpg-fuse { margin: 0 auto 1.1rem; max-width: 720px; background: linear-gradient(160deg, oklch(0.24 0.09 300 / 0.55), oklch(0.16 0.05 280 / 0.5)); border: 1px solid oklch(0.6 0.14 300 / 0.35); border-radius: 16px; padding: 1rem 1.1rem; box-shadow: inset 0 0 30px -10px oklch(0.6 0.18 320 / 0.5); }
.orpg-fuse-h h3 { margin: 0; font-family: 'Cinzel', serif; font-size: 1.05rem; color: #f0e6ff; }
.orpg-fuse-h span { display: block; margin-top: 0.15rem; font-size: 0.78rem; color: #b9aed6; }
.orpg-fuse-slots { display: flex; align-items: center; gap: 0.6rem; margin: 0.8rem 0; }
.orpg-fuse-sel { flex: 1; min-width: 0; padding: 0.55rem 0.6rem; border-radius: 10px; background: oklch(0.14 0.04 290 / 0.9); color: #eae6f5; border: 1px solid oklch(0.6 0.12 300 / 0.4); font-size: 0.82rem; }
.orpg-fuse-plus { flex: 0 0 auto; font-size: 1.3rem; filter: drop-shadow(0 0 6px oklch(0.7 0.18 320 / 0.7)); }
.orpg-fuse-preview { min-height: 0.5rem; margin: 0.4rem 0 0.7rem; font-size: 0.82rem; color: #cfd4e2; display: flex; flex-direction: column; gap: 0.3rem; }
.orpg-fuse-odds b { color: #fff; margin-right: 0.3rem; }
.orpg-fuse-odds span { font-weight: 700; }
.orpg-fuse-err { color: #ff9a9a; }
.orpg-fuse-loading { color: #b9aed6; font-style: italic; }
.orpg-fuse-go { width: 100%; background: linear-gradient(90deg, #b06bff, #6a5cff); color: #fff; font-weight: 800; }
.orpg-fuse-go:disabled { opacity: 0.5; cursor: not-allowed; }

/* Botón Autodeck (en la cabecera del equipo) */
.orbis-rpg__team-head { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.orbis-rpg__autodeck { font-size: 0.72rem; font-weight: 800; padding: 0.28rem 0.6rem; border-radius: 999px; cursor: pointer; color: #2a1c06; background: linear-gradient(90deg, #ffd44d, #ff9a3c); border: none; box-shadow: 0 2px 8px -2px rgba(255,170,60,0.6); }
.orbis-rpg__autodeck:hover { filter: brightness(1.08); }
.orbis-rpg__autodeck:disabled { opacity: 0.6; cursor: default; }

/* ===== Mazo de Eventos Diario ===== */
.orpg-evd { margin: 0 0 1.2rem; background: linear-gradient(160deg, oklch(0.22 0.07 285 / 0.55), oklch(0.15 0.05 300 / 0.5)); border: 1px solid oklch(0.6 0.12 300 / 0.3); border-radius: 16px; padding: 1rem 1.1rem; }
.orpg-evd-h { display: flex; align-items: baseline; justify-content: space-between; gap: 0.6rem; margin-bottom: 0.7rem; flex-wrap: wrap; }
.orpg-evd-h h3 { margin: 0; font-family: 'Cinzel', serif; font-size: 1.05rem; color: #f0e6ff; }
.orpg-evd-sub { font-size: 0.76rem; color: #b3a9d0; }
.orpg-evd-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0.8rem; }
.orpg-evd-card { background: oklch(0.16 0.04 290 / 0.7); border: 1px solid oklch(0.55 0.1 300 / 0.25); border-radius: 12px; padding: 0.75rem; display: flex; flex-direction: column; gap: 0.6rem; transition: opacity 0.2s; }
.orpg-evd-card.is-done { opacity: 0.7; }
.orpg-evd-top { display: flex; gap: 0.6rem; align-items: flex-start; }
.orpg-evd-ico { font-size: 1.7rem; flex: 0 0 auto; filter: drop-shadow(0 2px 5px rgba(0,0,0,0.5)); }
.orpg-evd-txt b { color: #fff; font-size: 0.95rem; }
.orpg-evd-txt p { margin: 0.2rem 0 0; font-size: 0.78rem; color: #c3bcd8; line-height: 1.35; }
.orpg-evd-opts { display: flex; flex-direction: column; gap: 0.4rem; margin-top: auto; }
.orpg-evd-opt { text-align: left; padding: 0.45rem 0.6rem; border-radius: 9px; background: oklch(0.26 0.07 290 / 0.8); border: 1px solid oklch(0.6 0.12 300 / 0.35); color: #eae6f5; cursor: pointer; display: flex; flex-direction: column; gap: 0.1rem; transition: transform 0.12s, border-color 0.12s; }
.orpg-evd-opt b { font-size: 0.83rem; }
.orpg-evd-opt small { font-size: 0.72rem; color: #ffd88a; }
.orpg-evd-opt:hover:not(:disabled) { transform: translateY(-2px); border-color: #ffd24d; }
.orpg-evd-opt:disabled { cursor: default; opacity: 0.5; }
.orpg-evd-opt.is-picked { border-color: #9be89b; background: oklch(0.3 0.12 150 / 0.4); opacity: 1; }
.orpg-evd-opt.is-picked small { color: #9be89b; }

/* Aviso de racha diaria en peligro (aversión a la pérdida) */
.orbis-rpg__streak-risk { display: block; margin-top: 0.4rem; font-size: 0.8rem; font-weight: 700; color: #ffb84d; background: oklch(0.3 0.12 60 / 0.25); border: 1px solid oklch(0.7 0.15 60 / 0.4); border-radius: 8px; padding: 0.35rem 0.6rem; }
.orbis-rpg__streak-risk[hidden] { display: none; }

/* ===== Mercado de Cartas entre jugadores ===== */
.orpg-cmk { margin: 1.2rem 0; background: linear-gradient(160deg, oklch(0.2 0.06 250 / 0.55), oklch(0.15 0.05 260 / 0.5)); border: 1px solid oklch(0.6 0.12 240 / 0.3); border-radius: 16px; padding: 1rem 1.1rem; }
.orpg-cmk-h h3 { margin: 0; font-family: 'Cinzel', serif; font-size: 1.05rem; color: #eaf1ff; }
.orpg-cmk-sub { display: block; margin-top: 0.15rem; font-size: 0.76rem; color: #a9b6d0; }
.orpg-cmk-sell { display: flex; gap: 0.5rem; margin: 0.8rem 0; flex-wrap: wrap; }
.orpg-cmk-sell select { flex: 1; min-width: 160px; padding: 0.5rem 0.6rem; border-radius: 10px; background: oklch(0.14 0.04 250 / 0.9); color: #eaf1ff; border: 1px solid oklch(0.6 0.12 240 / 0.4); font-size: 0.82rem; }
.orpg-cmk-sell input { width: 120px; padding: 0.5rem 0.6rem; border-radius: 10px; background: oklch(0.14 0.04 250 / 0.9); color: #eaf1ff; border: 1px solid oklch(0.6 0.12 240 / 0.4); font-size: 0.82rem; }
.orpg-cmk-sell button { flex: 0 0 auto; }
.orpg-cmk-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 0.7rem; }
.orpg-cmk-card { display: flex; align-items: center; gap: 0.6rem; padding: 0.55rem; border-radius: 12px; background: oklch(0.16 0.04 255 / 0.7); border: 1px solid oklch(0.55 0.1 240 / 0.25); border-left: 4px solid var(--rar, #888); }
.orpg-cmk-card.is-mine { opacity: 0.85; }
.orpg-cmk-face { flex: 0 0 auto; width: 44px; height: 56px; border-radius: 6px; overflow: hidden; background: oklch(0.1 0.03 260); }
.orpg-cmk-face img { width: 100%; height: 100%; object-fit: cover; }
.orpg-cmk-sprite { display: block; width: 100%; height: 100%; background-size: 300% 400%; background-position: 50% 0%; background-repeat: no-repeat; image-rendering: pixelated; }
.orpg-cmk-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.1rem; }
.orpg-cmk-info b { color: #fff; font-size: 0.85rem; }
.orpg-cmk-info small { color: #b9c2d8; font-size: 0.72rem; }
.orpg-cmk-ref { font-size: 0.7rem; color: #9aa6c0; }
.orpg-cmk-trend.up { color: #6be59a; } .orpg-cmk-trend.down { color: #ff7a8a; }
.orpg-cmk-buy, .orpg-cmk-cancel { flex: 0 0 auto; padding: 0.4rem 0.6rem; border-radius: 9px; border: none; cursor: pointer; font-weight: 800; font-size: 0.76rem; }
.orpg-cmk-buy { background: linear-gradient(90deg, #ffd44d, #ff9a3c); color: #2a1c06; }
.orpg-cmk-cancel { background: oklch(0.3 0.08 20 / 0.8); color: #ffb4b4; border: 1px solid oklch(0.6 0.14 20 / 0.5); }
.orpg-cmk-buy:disabled, .orpg-cmk-cancel:disabled { opacity: 0.5; cursor: default; }

/* ===== Modo Caza ===== */
.orpg-bhub-pin { }
.orpg-bhub-hunt { background: linear-gradient(160deg, oklch(0.3 0.12 140 / 0.85), oklch(0.17 0.06 150 / 0.7)) !important; border-color: oklch(0.7 0.15 145 / 0.5) !important; }
.orbis-rpg.orpg-game .orpg-stage > .orbis-rpg__hunt { min-height: calc(100vh - 230px); display: flex; flex-direction: column; }
.orbis-rpg__hunt > [data-rpg-hunt] { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 1rem; max-width: 640px; margin: 0 auto; width: 100%; }
.orpg-hunt-find { align-self: center; }
.orpg-hunt-empty { text-align: center; color: #a9b6c8; padding: 1.2rem; border: 1px dashed oklch(0.6 0.05 200 / 0.3); border-radius: 14px; }
.orpg-hunt-wild { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.1rem; border-radius: 16px; background: linear-gradient(120deg, color-mix(in srgb, var(--rar,#6be59a) 22%, transparent), oklch(0.15 0.04 200 / 0.5) 70%); border: 1px solid color-mix(in srgb, var(--rar,#6be59a) 50%, transparent); box-shadow: inset 0 0 28px -8px color-mix(in srgb, var(--rar,#6be59a) 55%, transparent); }
.orpg-hunt-wico { flex: 0 0 auto; width: 64px; height: 64px; display: grid; place-items: center; font-size: 2.4rem; border-radius: 50%; background: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--rar,#6be59a) 45%, transparent), rgba(0,0,0,0.35)); border: 2px solid var(--rar,#6be59a); }
.orpg-hunt-winfo { flex: 1; display: flex; flex-direction: column; gap: 0.15rem; }
.orpg-hunt-winfo small { font-size: 0.66rem; letter-spacing: 0.14em; color: #b7c6bb; }
.orpg-hunt-winfo b { font-family: 'Cinzel', serif; font-size: 1.2rem; color: #fff; }
.orpg-hunt-wtags { font-size: 0.8rem; color: #cdd8d0; }
.orpg-hunt-wtags em { font-style: normal; font-weight: 800; }
.orpg-hunt-fight { flex: 0 0 auto; }
.orpg-hunt-best { padding: 0.8rem 1rem; border-radius: 14px; background: oklch(0.16 0.03 200 / 0.5); border: 1px solid oklch(0.5 0.08 190 / 0.25); }
.orpg-hunt-best-h { font-size: 0.9rem; color: #dfe7e0; margin-bottom: 0.6rem; }
.orpg-hunt-best-h b { color: #6be59a; }
.orpg-hunt-bgrid { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.orpg-hunt-bchip { width: 40px; height: 40px; display: grid; place-items: center; font-size: 1.3rem; border-radius: 10px; background: oklch(0.12 0.03 220 / 0.8); border: 1px solid oklch(0.4 0.05 220 / 0.4); filter: grayscale(1) opacity(0.5); }
.orpg-hunt-bchip.has { filter: none; border-color: var(--rar, #6be59a); box-shadow: 0 0 10px -3px var(--rar, #6be59a); }
.orpg-hunt-bonus { font-size: 0.78rem; font-weight: 700; color: #9be89b; margin-left: 0.4rem; }
.orpg-hunt-ms-row { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.7rem; }
.orpg-hunt-ms { font-size: 0.74rem; padding: 0.3rem 0.55rem; border-radius: 999px; background: oklch(0.14 0.03 200 / 0.7); border: 1px solid oklch(0.4 0.05 200 / 0.35); color: #9aa6b0; }
.orpg-hunt-ms.done { color: #9be89b; border-color: oklch(0.6 0.12 150 / 0.4); }
.orpg-hunt-ms.can { cursor: pointer; color: #2a1c06; font-weight: 800; background: linear-gradient(90deg, #ffd44d, #ff9a3c); border: none; }
.orpg-hunt-ms.can small { font-weight: 700; opacity: 0.85; }
.orpg-hunt-ms.can:disabled { opacity: 0.6; cursor: default; }

/* ===== Combate 2.5D (fase 1: profundidad del escenario, solo CSS) ===== */
.orpg-bt-stage { perspective: 1100px; overflow-x: hidden; }
/* Suelo isométrico inclinado bajo las unidades (ajedrez en diamante que se pierde en la niebla) */
.orpg-bt-stage::after {
    content: ''; position: absolute; left: 50%; bottom: -6%; width: 150%; height: 62%;
    pointer-events: none; z-index: 0;
    transform: translateX(-50%) rotateX(62deg); transform-origin: 50% 100%;
    background:
        radial-gradient(ellipse at 50% 28%, oklch(0.52 0.15 300 / 0.30), transparent 62%),
        repeating-linear-gradient(45deg, oklch(0.30 0.09 290 / 0.55) 0 46px, oklch(0.23 0.07 285 / 0.55) 46px 92px),
        repeating-linear-gradient(-45deg, oklch(1 0 0 / 0.045) 0 46px, transparent 46px 92px);
    -webkit-mask-image: radial-gradient(ellipse at 50% 42%, #000 32%, transparent 76%);
    mask-image: radial-gradient(ellipse at 50% 42%, #000 32%, transparent 76%);
}
/* Profundidad de formación: fila externa = atrás (más pequeña, elevada y en penumbra); interna = delante */
.orpg-bt-side { position: relative; z-index: 1; }
.orpg-bt-col.is-outer { transform: translateY(-16px) scale(0.87); filter: brightness(0.82) saturate(0.92); }
.orpg-bt-col.is-inner { transform: translateY(34px) scale(1.03); z-index: 2; }
/* Si el bando solo tiene fila externa (p.ej. 1 criatura en Caza), va al frente a tamaño normal */
.orpg-bt-col.is-outer:has(+ .orpg-bt-col.is-inner:empty) { transform: translateY(18px) scale(1.03); filter: none; }
.orpg-bt-col.is-inner:empty + .orpg-bt-col.is-outer { transform: translateY(18px) scale(1.03); filter: none; }
@media (max-width: 640px) {
    .orpg-bt-col.is-outer { transform: translateY(-9px) scale(0.9); }
    .orpg-bt-col.is-inner { transform: translateY(22px) scale(1.02); }
    .orpg-bt-col.is-outer:has(+ .orpg-bt-col.is-inner:empty) { transform: translateY(12px) scale(1.02); filter: none; }
    .orpg-bt-col.is-inner:empty + .orpg-bt-col.is-outer { transform: translateY(12px) scale(1.02); filter: none; }
}
/* Sombra de apoyo: las unidades "pisan" el suelo */
.orpg-bt-art { position: relative; }
.orpg-bt-art::after { content: ''; position: absolute; left: 50%; bottom: -7px; width: 76%; height: 12px; transform: translateX(-50%); background: radial-gradient(ellipse, rgba(0,0,0,0.5), transparent 70%); z-index: -1; }
/* Proyectil arcano en arco (magos) — coloreado por facción vía --pc */
.orpg-bt-proj { position: absolute; left: 0; top: 0; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; pointer-events: none; z-index: 40;
    background: radial-gradient(circle at 35% 35%, #fff, var(--pc, #49e6ff) 55%, transparent 78%);
    box-shadow: 0 0 12px 3px var(--pc, #49e6ff), 0 0 32px 8px color-mix(in srgb, var(--pc, #49e6ff) 35%, transparent); }
.orpg-bt-proj.ult { width: 22px; height: 22px; margin: -11px 0 0 -11px; }

/* ===== El Reino (hub isométrico 2.5D) ===== */
.orbis-rpg.orpg-game .orpg-stage > .orbis-rpg__kingdom { min-height: calc(100vh - 230px); display: flex; flex-direction: column; }
.orbis-rpg__kingdom > .orpg-king-stage { flex: 1; display: flex; align-items: center; justify-content: center; position: relative; }
.orpg-king-stage { position: relative; width: min(980px, 96vw); margin: 0 auto; }
.orpg-king-canvas { width: 100%; height: auto; display: block; border-radius: 18px; border: 1px solid oklch(0.55 0.12 300 / 0.4); box-shadow: 0 14px 44px -14px rgba(0,0,0,0.8), inset 0 0 60px -20px oklch(0.4 0.14 300 / 0.5); }
.orpg-king-tip { position: absolute; z-index: 5; pointer-events: none; background: oklch(0.14 0.04 290 / 0.95); border: 1px solid #ffd76a; border-radius: 10px; padding: 0.45rem 0.7rem; display: flex; flex-direction: column; gap: 0.05rem; box-shadow: 0 8px 20px -6px rgba(0,0,0,0.7); }
.orpg-king-tip b { color: #ffe9b0; font-size: 0.86rem; white-space: nowrap; }
.orpg-king-tip small { color: #c9c2de; font-size: 0.72rem; white-space: nowrap; }
.orpg-king-banner { display: flex; align-items: center; gap: 0.8rem; width: 100%; text-align: left; cursor: pointer; margin-bottom: 1rem; padding: 0.85rem 1.1rem; border-radius: 16px; border: 1px solid oklch(0.65 0.13 300 / 0.5); background: linear-gradient(120deg, oklch(0.3 0.12 300 / 0.55), oklch(0.18 0.06 260 / 0.5) 70%); box-shadow: inset 0 0 28px -8px oklch(0.6 0.16 300 / 0.5); transition: transform 0.15s ease, box-shadow 0.15s ease; }
.orpg-king-banner:hover { transform: translateY(-2px); box-shadow: inset 0 0 28px -8px oklch(0.6 0.16 300 / 0.6), 0 10px 24px -10px oklch(0.6 0.18 300 / 0.6); }
.orpg-king-banner-ico { flex: 0 0 auto; font-size: 2rem; filter: drop-shadow(0 3px 6px rgba(0,0,0,0.6)); }
.orpg-king-banner-txt { flex: 1; display: flex; flex-direction: column; gap: 0.1rem; }
.orpg-king-banner-txt b { font-family: 'Cinzel', serif; color: #fff; font-size: 1.02rem; }
.orpg-king-banner-txt small { color: #c3b8dc; font-size: 0.78rem; }
.orpg-king-banner-go { flex: 0 0 auto; color: #ffd76a; font-size: 1.4rem; }
/* Bocadillo de diálogo de NPC (rol) */
.orpg-king-say { position: absolute; z-index: 6; max-width: 230px; pointer-events: none; background: oklch(0.15 0.04 290 / 0.97); border: 1px solid oklch(0.7 0.12 300 / 0.6); border-radius: 12px; padding: 0.55rem 0.75rem; display: flex; flex-direction: column; gap: 0.2rem; box-shadow: 0 10px 26px -8px rgba(0,0,0,0.75); animation: orpgSayIn 0.18s ease; }
.orpg-king-say b { color: #ffe9b0; font-size: 0.78rem; }
.orpg-king-say span { color: #ddd6ee; font-size: 0.8rem; line-height: 1.35; font-style: italic; }
@keyframes orpgSayIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* ===== Crónicas de Orbis (lore) ===== */
.orbis-rpg.orpg-game .orpg-stage > .orbis-rpg__chronicles { min-height: calc(100vh - 230px); }
.orpg-chr { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 0.6rem; }
.orpg-chr-head { font-size: 0.85rem; color: #bcc6d8; margin-bottom: 0.3rem; }
.orpg-chr-head b { color: #ffd86b; }
.orpg-chr-ch { border-radius: 14px; border: 1px solid oklch(0.55 0.09 260 / 0.3); background: linear-gradient(160deg, oklch(0.2 0.05 270 / 0.55), oklch(0.14 0.04 280 / 0.5)); overflow: hidden; }
.orpg-chr-ch.is-locked { opacity: 0.6; }
.orpg-chr-h { display: flex; align-items: center; gap: 0.7rem; padding: 0.8rem 1rem; cursor: pointer; user-select: none; }
.orpg-chr-ch.is-locked .orpg-chr-h { cursor: default; }
.orpg-chr-ico { flex: 0 0 auto; font-size: 1.25rem; }
.orpg-chr-h b { flex: 1; font-family: 'Cinzel', serif; color: #f0e9ff; font-size: 1rem; }
.orpg-chr-h small { color: #9aa4bb; font-size: 0.74rem; }
.orpg-chr-caret { color: #b9aed6; transition: transform 0.2s ease; }
.orpg-chr-h.is-open .orpg-chr-caret { transform: rotate(180deg); }
.orpg-chr-body { padding: 0 1.1rem 1rem; }
.orpg-chr-body p { margin: 0 0 0.8rem; color: #d5cfe6; font-size: 0.92rem; line-height: 1.65; }
.orpg-chr-body p:first-child::first-letter { font-family: 'Cinzel', serif; font-size: 1.9em; color: #ffd76a; float: left; line-height: 1; padding-right: 6px; }

/* ===== Mi Habitación (estilo Habbo) ===== */
.orbis-rpg.orpg-game .orpg-stage > .orbis-rpg__room { min-height: calc(100vh - 230px); }
.orbis-rpg__room > [data-rpg-room] { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 0.7rem; }
.orpg-room-visit { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.orpg-room-visit input { flex: 1; min-width: 180px; padding: 0.5rem 0.7rem; border-radius: 10px; background: oklch(0.14 0.04 290 / 0.9); color: #eae6f5; border: 1px solid oklch(0.6 0.12 300 / 0.4); font-size: 0.84rem; }
.orpg-room-visit [data-room-back] { padding: 0.45rem 0.8rem; border-radius: 9px; cursor: pointer; background: oklch(0.3 0.08 20 / 0.8); color: #ffc4c4; border: 1px solid oklch(0.6 0.14 20 / 0.5); }
.orpg-room-owner { color: #ffd86b; font-size: 0.86rem; }
.orpg-room-stage { position: relative; }
.orpg-room-canvas { width: 100%; height: auto; display: block; border-radius: 16px; border: 1px solid oklch(0.55 0.12 300 / 0.4); box-shadow: 0 12px 36px -12px rgba(0,0,0,0.8); cursor: pointer; }
.orpg-room-hint { font-size: 0.78rem; color: #b3aecb; text-align: center; }
.orpg-room-cat { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.5rem; }
.orpg-room-chip { position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.15rem; padding: 0.6rem 0.5rem; border-radius: 12px; background: oklch(0.18 0.05 290 / 0.7); border: 1px solid oklch(0.5 0.1 300 / 0.3); cursor: pointer; transition: transform 0.12s, border-color 0.12s; }
.orpg-room-chip:hover { transform: translateY(-2px); }
.orpg-room-chip.can { border-color: oklch(0.65 0.14 150 / 0.5); }
.orpg-room-chip.is-sel { border-color: #ffd24d; box-shadow: 0 0 12px -3px #ffd24d; }
.orpg-room-chip-e { font-size: 1.6rem; }
.orpg-room-chip b { font-size: 0.76rem; color: #efe9fa; text-align: center; }
.orpg-room-chip small { font-size: 0.68rem; color: #9ea6ba; }
.orpg-room-buy { margin-top: 0.2rem; font-size: 0.7rem; font-weight: 800; padding: 0.25rem 0.6rem; border-radius: 999px; border: none; cursor: pointer; background: linear-gradient(90deg, #ffd44d, #ff9a3c); color: #2a1c06; }
.orpg-room-buy:disabled { opacity: 0.5; }

/* Leyendas (lore breve) en caza y campañas */
.orpg-hunt-wlore { display: block; margin-top: 0.25rem; font-size: 0.76rem; color: #b9c8bd; font-style: italic; }
.orpg-camp-lore { display: block; margin: 0.1rem 0 0.25rem; font-size: 0.74rem; color: #b3aecb; font-style: italic; }

/* ===== Hábitat de caza del día ===== */
.orpg-hunt-hab { display: flex; align-items: center; gap: 0.8rem; padding: 0.7rem 1rem; border-radius: 14px; background: linear-gradient(120deg, oklch(0.24 0.08 150 / 0.45), oklch(0.15 0.04 200 / 0.4)); border: 1px solid oklch(0.6 0.1 150 / 0.3); }
.orpg-hunt-hab-ico { flex: 0 0 auto; font-size: 1.9rem; filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5)); }
.orpg-hunt-hab-txt { display: flex; flex-direction: column; gap: 0.05rem; }
.orpg-hunt-hab-txt small { font-size: 0.62rem; letter-spacing: 0.14em; color: #a9c4ae; }
.orpg-hunt-hab-txt b { font-family: 'Cinzel', serif; color: #eaf5ec; }
.orpg-hunt-hab-txt > span { font-size: 0.76rem; color: #c3d4c7; }
.orpg-hunt-hab-txt em { font-style: normal; color: #9be89b; font-weight: 700; }

/* ===== Criadero de criaturas ===== */
.orpg-hunt-breed { padding: 0.85rem 1rem; border-radius: 14px; background: oklch(0.18 0.05 150 / 0.5); border: 1px solid oklch(0.55 0.1 150 / 0.28); }
.orpg-hunt-breed-h { font-size: 0.92rem; color: #dcefe0; margin-bottom: 0.6rem; }
.orpg-hunt-breed-h small { display: block; font-size: 0.72rem; color: #a7c0ac; font-weight: 400; margin-top: 0.1rem; }
.orpg-hunt-breed-row { display: flex; align-items: center; gap: 0.5rem; }
.orpg-hunt-breed-row select { flex: 1; min-width: 0; padding: 0.5rem 0.6rem; border-radius: 10px; background: oklch(0.13 0.03 150 / 0.9); color: #eaf3ec; border: 1px solid oklch(0.5 0.1 150 / 0.4); font-size: 0.8rem; }
.orpg-hunt-breed-plus { flex: 0 0 auto; font-size: 1.2rem; }
.orpg-hunt-breed-info { min-height: 0.4rem; margin: 0.5rem 0; font-size: 0.82rem; color: #cfe0d4; }
.orpg-hunt-breed-info b { color: #fff; }
.orpg-hunt-breed-info span { font-weight: 700; }
.orpg-hunt-breed-err { color: #ff9a9a; }
.orpg-hunt-breed-load { color: #a7c0ac; font-style: italic; }
.orpg-hunt-breed-go { width: 100%; background: linear-gradient(90deg, #5fd08a, #3aa96a); color: #06210f; font-weight: 800; }
.orpg-hunt-breed-go:disabled { opacity: 0.5; cursor: default; }

/* ===== Gremios / Clubes ===== */
.orpg-guild { margin-top: 1rem; background: rgba(20,16,30,0.5); border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 0.8rem 1rem; }
.orpg-guild-body { margin-top: 0.5rem; }
.orpg-guild-mine { margin-bottom: 0.9rem; }
.orpg-guild-mhead { display: flex; align-items: center; gap: 0.7rem; padding: 0.7rem 0.8rem; border-radius: 12px; background: linear-gradient(120deg, oklch(0.28 0.1 300 / 0.4), oklch(0.16 0.05 280 / 0.4)); border: 1px solid oklch(0.6 0.12 300 / 0.3); }
.orpg-guild-emblem { flex: 0 0 auto; font-size: 1.8rem; }
.orpg-guild-emblem.sm { font-size: 1.15rem; }
.orpg-guild-mtxt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.orpg-guild-mtxt b { color: #fff; font-family: 'Cinzel', serif; }
.orpg-guild-mtxt em { font-style: normal; color: #b9aed6; font-size: 0.8rem; }
.orpg-guild-mtxt small { color: #b3a9c8; font-size: 0.75rem; }
.orpg-guild-score { flex: 0 0 auto; color: #ffd86b; font-weight: 800; font-size: 0.9rem; }
.orpg-guild-roster { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.6rem 0; }
.orpg-guild-mem { font-size: 0.78rem; color: #dfe0ea; background: rgba(255,255,255,0.05); border-radius: 999px; padding: 0.25rem 0.6rem; }
.orpg-guild-mem small { color: #9aa4bb; }
.orpg-guild-leave { font-size: 0.78rem; padding: 0.35rem 0.8rem; border-radius: 8px; cursor: pointer; background: oklch(0.3 0.08 20 / 0.8); color: #ffb4b4; border: 1px solid oklch(0.6 0.14 20 / 0.5); }
.orpg-guild-create { margin-bottom: 0.9rem; }
.orpg-guild-create p { margin: 0 0 0.5rem; font-size: 0.82rem; color: #c3bcd8; }
.orpg-guild-cform { display: flex; gap: 0.4rem; margin-bottom: 0.4rem; }
.orpg-guild-cform input, .orpg-guild-desc { padding: 0.5rem 0.6rem; border-radius: 9px; background: oklch(0.14 0.04 290 / 0.9); color: #eae6f5; border: 1px solid oklch(0.6 0.12 300 / 0.4); font-size: 0.82rem; }
.orpg-guild-cform input:first-child { flex: 1; }
.orpg-guild-tag { width: 70px; }
.orpg-guild-emb { width: 54px; text-align: center; }
.orpg-guild-desc { display: block; width: 100%; margin-bottom: 0.5rem; box-sizing: border-box; }
.orpg-guild-board-h { font-size: 0.8rem; color: #b9c0d0; margin-bottom: 0.5rem; }
.orpg-guild-row { display: flex; align-items: center; gap: 0.6rem; padding: 0.4rem 0.6rem; border-radius: 10px; background: rgba(255,255,255,0.03); margin-bottom: 0.35rem; }
.orpg-guild-row.is-mine { background: oklch(0.3 0.1 300 / 0.22); }
.orpg-guild-rank { flex: 0 0 auto; min-width: 1.6rem; text-align: center; }
.orpg-guild-name { flex: 1; min-width: 0; display: flex; flex-direction: column; color: #e6e9f2; font-weight: 700; font-size: 0.84rem; }
.orpg-guild-name em { font-style: normal; color: #b9aed6; font-weight: 400; }
.orpg-guild-name small { color: #9aa4bb; font-weight: 400; font-size: 0.72rem; }
.orpg-guild-join { flex: 0 0 auto; font-size: 0.76rem; font-weight: 800; padding: 0.35rem 0.7rem; border-radius: 8px; cursor: pointer; border: none; background: linear-gradient(90deg, #ffd44d, #ff9a3c); color: #2a1c06; }

/* ===== Variantes cosméticas de carta (foil) ===== */
.orbis-rpg__hcard-face { position: relative; }
.orpg-var-foil { position: absolute; inset: 0; pointer-events: none; opacity: 0; z-index: 3; border-radius: inherit; }
.orpg-var-1 .orpg-var-foil, .orpg-var-2 .orpg-var-foil, .orpg-var-3 .orpg-var-foil { opacity: 1; }
.orpg-pf-fav { position: relative; overflow: hidden; }
.orpg-pf-fav .orpg-var-badge { top: 4px; font-size: 0.5rem; padding: 0.08rem 0.35rem; }
.orpg-var-1 .orpg-var-foil { background: linear-gradient(115deg, transparent 32%, rgba(255,240,180,0.35) 48%, transparent 64%); background-size: 250% 250%; animation: orpgFoil 3.6s linear infinite; }
.orpg-var-2 .orpg-var-foil { background: linear-gradient(115deg, transparent 18%, rgba(255,80,180,0.28) 34%, rgba(80,200,255,0.28) 50%, rgba(120,255,150,0.28) 66%, transparent 82%); background-size: 300% 300%; animation: orpgFoil 3s linear infinite; mix-blend-mode: screen; }
.orpg-var-3 .orpg-var-foil { background: linear-gradient(115deg, transparent 26%, rgba(255,215,90,0.55) 45%, rgba(255,180,40,0.4) 56%, transparent 72%); background-size: 250% 250%; animation: orpgFoil 2.6s linear infinite; }
@keyframes orpgFoil { 0% { background-position: 0% 0%; } 100% { background-position: 200% 200%; } }
.orbis-rpg__hcard.orpg-var-1 { box-shadow: 0 0 0 1px rgba(255,230,150,0.5), 0 6px 20px -8px rgba(255,220,120,0.4); }
.orbis-rpg__hcard.orpg-var-2 { box-shadow: 0 0 0 1px rgba(180,120,255,0.6), 0 6px 22px -8px rgba(150,120,255,0.5); }
.orbis-rpg__hcard.orpg-var-3 { box-shadow: 0 0 0 2px rgba(255,200,60,0.8), 0 8px 26px -8px rgba(255,190,50,0.6); }
.orpg-var-badge { position: absolute; top: 6px; left: 50%; transform: translateX(-50%); z-index: 4; font-size: 0.58rem; font-weight: 800; letter-spacing: 0.03em; padding: 0.12rem 0.45rem; border-radius: 999px; color: #1a1206; white-space: nowrap; }
.orpg-var-badge-1 { background: linear-gradient(90deg, #ffe9a8, #ffcf5a); }
.orpg-var-badge-2 { background: linear-gradient(90deg, #ff8ad0, #8ac8ff, #9bffb0); color: #241033; }
.orpg-var-badge-3 { background: linear-gradient(90deg, #ffd24d, #ffae30); box-shadow: 0 0 8px -1px rgba(255,190,50,0.85); }

/* ===== Taller Prismático (panel de pulido) ===== */
.orpg-polish { margin: 0 auto 1.1rem; max-width: 720px; background: linear-gradient(160deg, oklch(0.24 0.08 320 / 0.5), oklch(0.16 0.05 300 / 0.5)); border: 1px solid oklch(0.6 0.14 320 / 0.3); border-radius: 16px; padding: 1rem 1.1rem; }
.orpg-polish-h h3 { margin: 0; font-family: 'Cinzel', serif; font-size: 1.05rem; color: #f6e9ff; }
.orpg-polish-h span { display: block; margin-top: 0.15rem; font-size: 0.78rem; color: #c3b6dc; }
.orpg-polish-row { display: flex; gap: 0.5rem; align-items: center; margin-top: 0.8rem; flex-wrap: wrap; }
.orpg-polish-row select { flex: 1; min-width: 160px; padding: 0.5rem 0.6rem; border-radius: 10px; background: oklch(0.14 0.04 300 / 0.9); color: #efe6f7; border: 1px solid oklch(0.6 0.12 320 / 0.4); font-size: 0.82rem; }
.orpg-polish-info { flex: 1 1 100%; order: 3; font-size: 0.8rem; color: #d9cfe8; }
.orpg-polish-info b { color: #fff; }
.orpg-polish-max { color: #ffd24d; }
.orpg-polish-go { flex: 0 0 auto; background: linear-gradient(90deg, #c86bff, #7a5cff); color: #fff; font-weight: 800; }
.orpg-polish-go:disabled { opacity: 0.5; cursor: default; }

/* ===== Paneles-herramienta plegables (Fusión / Taller) — la colección es protagonista ===== */
.orpg-tool.is-collapsed { padding-top: 0.7rem; padding-bottom: 0.7rem; }
.orpg-tool-h { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; user-select: none; }
.orpg-tool-h h3 { margin: 0; }
.orpg-tool-h span:not(.orpg-tool-caret) { display: none; }
.orpg-tool-h .orpg-tool-caret { display: inline-block; margin: 0; transition: transform 0.2s ease; color: #b9aed6; font-size: 0.85rem; }
.orpg-tool.is-collapsed .orpg-tool-h .orpg-tool-caret { transform: rotate(-90deg); }
.orpg-tool.is-collapsed .orpg-tool-body { display: none; }
.orpg-tool-body { margin-top: 0.7rem; }
.orpg-tool-desc { margin: 0 0 0.7rem; font-size: 0.78rem; color: #b9aed6; }
.orpg-hd-msg { display: block; margin-top: 0.5rem; min-height: 1em; color: oklch(0.82 0.12 95); font-size: 0.85rem; }
/* Selector de equipo */
.orpg-hd-picker { position: absolute; inset: 0; z-index: 8; display: grid; place-items: center; background: oklch(0.05 0.03 300 / 0.7); border-radius: 22px; }
.orpg-hd-pickbox { width: min(420px, 88%); max-height: 80%; overflow-y: auto; border-radius: 16px; background: oklch(0.16 0.05 295 / 0.98); border: 1px solid oklch(0.7 0.1 300 / 0.5); padding: 0.6rem; }
.orpg-hd-pickbox header { display: flex; justify-content: space-between; align-items: center; font-family: 'Cinzel', serif; color: #fff; text-transform: capitalize; padding: 0.2rem 0.4rem 0.6rem; }
.orpg-hd-pickx { cursor: pointer; background: transparent; border: 0; color: #fff; font-size: 1.2rem; }
.orpg-hd-pick { display: flex; align-items: center; gap: 0.6rem; width: 100%; text-align: left; cursor: pointer; padding: 0.5rem 0.7rem; border-radius: 10px; border: 0; background: transparent; color: #fff; }
.orpg-hd-pick:hover { background: oklch(0.3 0.08 300 / 0.6); }
.orpg-hd-pick span { font-size: 1.2rem; }
.orpg-hd-pick b { flex: 1; font-weight: 600; }
.orpg-hd-pick small { color: oklch(0.78 0.04 300); font-size: 0.74rem; }
.orpg-hd-pick.is-remove b { color: #ff8a9c; }
.orpg-hd-empty { padding: 1rem; text-align: center; color: oklch(0.75 0.03 300); font-size: 0.85rem; }

/* ===== Pináculo (torre infinita) ===== */
.orbis-rpg.orpg-game .orpg-stage section.orbis-rpg__tower-screen { background: transparent; border: 0; box-shadow: none; padding: 0; }
.orbis-rpg.orpg-game .orbis-rpg__tower-screen::before { display: none; }
.orpg-tower { position: relative; text-align: center; padding: 2.2rem 1.4rem 2.6rem; border-radius: 22px; overflow: hidden;
    background: radial-gradient(circle at 50% 0%, oklch(0.34 0.12 300 / 0.7), oklch(0.12 0.04 290 / 0.92) 70%); border: 1px solid oklch(0.7 0.12 300 / 0.35); box-shadow: 0 18px 48px oklch(0.05 0.03 300 / 0.55); }
.orpg-tower-spire { font-size: 4rem; filter: drop-shadow(0 0 26px oklch(0.7 0.16 300 / 0.7)); animation: orpgFloat 3.5s ease-in-out infinite; }
@keyframes orpgFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.orpg-tower-label { margin: 0.4rem 0 0; font-family: 'Sora', sans-serif; letter-spacing: 0.3em; font-size: 0.72rem; color: oklch(0.82 0.12 300); }
.orpg-tower-floor { margin: 0.1rem 0; font-family: 'Cinzel', serif; font-size: clamp(1.8rem, 5vw, 2.8rem); color: #fff; }
.orpg-tower-floor b { background: linear-gradient(180deg, oklch(0.96 0.06 95), oklch(0.78 0.16 85)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.orpg-tower-best { color: oklch(0.8 0.04 300); margin: 0 0 0.4rem; }
.orpg-tower-best b { color: oklch(0.88 0.12 92); }
.orpg-tower-boss { color: #ffb347; font-family: 'Cinzel', serif; font-weight: 700; margin: 0.3rem 0; animation: orpgCharge 1.1s ease-in-out infinite; }
.orpg-tower-go { margin-top: 1rem; font-size: 1.05rem; padding: 0.85rem 2.2rem; }
.orpg-tower-msg { display: block; margin-top: 0.7rem; color: oklch(0.82 0.12 95); font-size: 0.9rem; min-height: 1.2em; }

/* ===== Contador de coleccion (codex) ===== */
.orbis-rpg.orpg-game .orpg-codex-count { flex: 1 1 100%; margin-top: 0.2rem; font-family: 'Sora', sans-serif; font-size: 0.8rem; color: oklch(0.8 0.1 95); letter-spacing: 0.04em; }

/* ===== Particulas tematicas en la cabecera de pantalla ===== */
.orbis-rpg.orpg-game .orpg-screen-title { position: relative; overflow: hidden; }
.orbis-rpg.orpg-game .orpg-st-fx { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.orbis-rpg.orpg-game .orpg-st-fx i { position: absolute; bottom: -10px; font-size: 1rem; font-style: normal; opacity: 0; filter: grayscale(0.2); animation: orpgStFx 6s ease-in-out infinite; }
@keyframes orpgStFx { 0% { transform: translateY(0) rotate(0); opacity: 0; } 25% { opacity: 0.35; } 100% { transform: translateY(-46px) rotate(20deg); opacity: 0; } }
.orbis-rpg.orpg-game .orpg-screen-title .orpg-st-ico, .orbis-rpg.orpg-game .orpg-screen-title b { position: relative; z-index: 1; }

/* ===== Flash de daño en la barra de vida ===== */
.orpg-bt-hp.dmg { box-shadow: 0 0 0 2px oklch(0.6 0.22 25 / 0.8), 0 0 12px oklch(0.6 0.22 25 / 0.7); }
.orpg-bt-hp.dmg i { filter: brightness(1.6) saturate(1.4); }

/* ===== Sello NEW / duplicado en invocacion ===== */
.orpg-sm-card { position: relative; }
.orpg-sm-new, .orpg-sm-dupe { position: absolute; top: 6px; right: 6px; z-index: 3; font-family: 'Sora', sans-serif; font-weight: 700; font-size: 0.6rem; padding: 2px 7px; border-radius: 99px; letter-spacing: 0.08em; }
.orpg-sm-new { background: linear-gradient(180deg, #ffd84a, #ff8a3c); color: #241405; box-shadow: 0 0 10px oklch(0.8 0.16 70 / 0.7); animation: orpgCharge 1s ease-in-out infinite; }
.orpg-sm-dupe { background: oklch(0.3 0.06 300 / 0.85); color: oklch(0.88 0.08 220); border: 1px solid oklch(0.7 0.1 300 / 0.4); }

/* ===== Confeti de celebracion ===== */
.orpg-confetti { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 99996; }
.orpg-confetti i { position: absolute; top: -16px; width: 9px; height: 14px; border-radius: 2px; opacity: 0.95; animation: orpgConfetti linear forwards; }
@keyframes orpgConfetti { 0% { transform: translate(0, -20px) rotate(0); opacity: 1; } 100% { transform: translate(var(--x, 0), 110vh) rotate(var(--r, 360deg)); opacity: 0.25; } }

/* ===== Mapa de campaña por nodos ===== */
.orbis-rpg.orpg-game .orpg-nodes { display: flex; flex-wrap: wrap; align-items: center; gap: 0; padding: 0.6rem 0.85rem 0.9rem; }
.orpg-node { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 50%; cursor: pointer; font-family: 'Cinzel', serif; font-weight: 700; font-size: 0.9rem;
    display: grid; place-items: center; color: #fff; border: 2px solid oklch(0.6 0.08 300 / 0.4); background: oklch(0.24 0.05 300 / 0.7); transition: transform 0.14s ease, box-shadow 0.14s ease; }
.orpg-node.is-done { color: #1a2e16; background: linear-gradient(180deg, oklch(0.8 0.16 140), oklch(0.62 0.16 145)); border-color: oklch(0.85 0.14 140); }
.orpg-node.is-next { background: linear-gradient(180deg, oklch(0.9 0.1 95), oklch(0.76 0.16 82)); color: #1a0f02; border-color: #fff; box-shadow: 0 0 14px oklch(0.82 0.16 90 / 0.6); animation: orpgCharge 1.2s ease-in-out infinite; }
.orpg-node.is-locked { opacity: 0.5; filter: grayscale(0.6); cursor: not-allowed; }
.orpg-node.is-boss { width: 44px; height: 44px; font-size: 1.1rem; border-color: oklch(0.85 0.16 60); }
.orpg-node.is-boss.is-next { background: linear-gradient(180deg, #ffcf45, #ff8a3c); }
.orpg-node:not(.is-locked):hover { transform: scale(1.12); }
.orpg-node-link { flex: 1 1 8px; min-width: 8px; max-width: 26px; height: 3px; background: oklch(0.5 0.06 300 / 0.4); }
.orpg-node-link.is-done { background: linear-gradient(90deg, oklch(0.8 0.16 140), oklch(0.62 0.16 145)); }

/* ===== Parallax/viñeta en el escenario de batalla ===== */
.orpg-bt-stage { position: relative; background-size: cover; background-position: center; }
.orpg-bt-stage::before { content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 0;
    background: radial-gradient(circle at 50% 30%, transparent 45%, oklch(0.04 0.02 300 / 0.7) 100%), linear-gradient(180deg, oklch(0.05 0.03 300 / 0.3), transparent 30%); }
.orpg-bt-arena { position: relative; z-index: 1; }

/* HUD: identidad (avatar+nombre+nivel+XP) en tema oscuro */
.orpg-hud-id { display: flex; align-items: center; gap: 0.5rem; }
.orpg-hud-av { width: 30px; height: 30px; border-radius: 50%; overflow: hidden; flex: 0 0 auto; background: oklch(0.4 0.12 300 / 0.6); border: 1px solid oklch(0.72 0.12 300 / 0.5); display: flex; align-items: center; justify-content: center; }
.orpg-hud-av img { width: 100%; height: 100%; object-fit: cover; }
.orpg-hud-idmeta { line-height: 1.05; }
.orpg-hud-idmeta small { display: block; font-size: 0.62rem; color: #cbd2e0; max-width: 96px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.orpg-hud-idmeta b { font-size: 0.72rem; color: #fff; font-weight: 700; }
.orpg-hud-xp { width: 72px; height: 4px; border-radius: 999px; background: oklch(1 0 0 / 0.15); overflow: hidden; margin-top: 2px; }
.orpg-hud-xp i { display: block; height: 100%; background: linear-gradient(90deg, #6be5ff, #c46bff); transition: width 0.5s ease; }
.orpg-hud-stats { display: flex; align-items: center; margin-left: 0.3rem; }
@media (max-width: 560px) { .orpg-hud-idmeta { display: none; } }

/* ============ AUDITORÍA DISEÑO (Chrome, jun 2026) ============ */
/* 1) El header del tema (#masthead, z=9990) tapaba la barra de recursos del juego.
      En modo juego el header del tema se oculta para que sea inmersivo y se vean los recursos. */
body.orpg-gamemode #masthead { display: none !important; }
/* 1b) El tema tiene ADEMÁS un header sticky aparte (.site-header-wrapper.orbis-topbar-shell,
      fixed top:32px z:999) que seguía tapando la mitad superior de la barra de recursos del
      juego (z:500) — ocultándose las etiquetas/iconos (MONEDAS, CRISTALES, ENERGÍA…). Se oculta. */
body.orpg-gamemode .site-header-wrapper,
body.orpg-gamemode .orbis-topbar-shell { display: none !important; }

/* 2) Los sprites genéricos son hojas RPG-Maker 96x128 (3 frames x 4 direcciones).
      Varios renderers mostraban la hoja entera (rejilla de mini-personajes).
      Se recorta a 1 celda (frame frontal en reposo), independiente del tamaño de caja. */
.orbis-rpg__team-sprite,
.orbis-rpg__featured-sprite,
.orbis-rpg__pull-sprite,
.orpg-sm-sprite,
.orbis-rpg__sc-sprite,
.orpg-cm-sprite,
.orpg-hub-sprite,
.orpg-pf-fav-sprite,
.orpg-pm-sprite,
.orpg-tt-sprite,
.orpg-bt-sprite {
    background-size: 300% 400% !important;
    background-position: 50% 0% !important;
    background-repeat: no-repeat !important;
    image-rendering: pixelated;
}

/* ============ AUDITORÍA: rellenar espacio en hubs (Batalla) ============ */
.orbis-rpg.orpg-game .orpg-stage > .orbis-rpg__battlehub {
    min-height: calc(100vh - 230px);
    display: flex; flex-direction: column; justify-content: center;
}
.orbis-rpg__battlehub .orpg-bhub-grid { gap: 1rem; margin-top: 1.2rem; }
@media (min-width: 760px) { .orbis-rpg__battlehub .orpg-bhub-grid { grid-template-columns: repeat(4, 1fr); } }
.orbis-rpg__battlehub .orpg-bhub { padding: 2.2rem 1rem; gap: 0.45rem; }
.orbis-rpg__battlehub .orpg-bhub span { font-size: 3rem; }
.orbis-rpg__battlehub .orpg-bhub b { font-size: 1.2rem; }
.orbis-rpg__battlehub .orpg-bhub small { font-size: 0.82rem; }

/* ===================== LA GRIETA (roguelike) ===================== */
.orpg-bhub-rogue { background: linear-gradient(160deg, oklch(0.28 0.12 320 / 0.85), oklch(0.16 0.06 320 / 0.7)) !important; border-color: oklch(0.7 0.16 330 / 0.5) !important; }
.orbis-rpg.orpg-game .orpg-stage > .orbis-rpg__rogue { min-height: calc(100vh - 230px); display: flex; flex-direction: column; }
.orbis-rpg__rogue > [data-rpg-rogue] { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.orpg-rg-intro { max-width: 560px; margin: 1.5rem auto; text-align: center; padding: 2rem 1.4rem; border-radius: 18px; background: radial-gradient(120% 80% at 50% 0%, oklch(0.28 0.13 320 / 0.5), oklch(0.13 0.05 300 / 0.7)); border: 1px solid oklch(0.6 0.14 320 / 0.4); }
.orpg-rg-emoji { font-size: 3.4rem; animation: orpgSpin 8s linear infinite; }
.orpg-rg-intro p { color: #cdd3e0; line-height: 1.5; margin: 0.8rem 0; }
.orpg-rg-best { font-size: 0.85rem; color: #b9a0e0; margin: 0.8rem 0 1.1rem; }
.orpg-rg-best b { color: #ffd86b; }
.orpg-rg-start { font-size: 1rem; padding: 0.8rem 1.6rem; }
.orpg-rg-run { max-width: 880px; margin: 1rem auto; }
.orpg-rg-mapwrap { overflow-x: auto; padding: 0.6rem 0.2rem 1rem; scrollbar-width: none; }
.orpg-rg-mapwrap::-webkit-scrollbar { display: none; }
.orpg-rg-map { display: flex; align-items: center; justify-content: flex-start; gap: 0; min-width: max-content; margin: 0 auto; }
.orpg-rg-node { width: 42px; height: 42px; flex: 0 0 auto; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; background: oklch(0.18 0.04 290 / 0.7); border: 1px solid oklch(1 0 0 / 0.12); }
.orpg-rg-node.done { opacity: 0.45; border-color: #5fcf7a; }
.orpg-rg-node.current { border-color: #ffd24d; box-shadow: 0 0 16px -3px #ffd24d; transform: scale(1.15); }
.orpg-rg-node.t-boss { border-color: #ff5fae; }
.orpg-rg-node.t-elite { border-color: #ff8a5c; }
.orpg-rg-node.t-treasure { border-color: #6be5ff; }
.orpg-rg-link { width: 18px; height: 2px; flex: 0 0 auto; background: oklch(1 0 0 / 0.18); }
.orpg-rg-boons { display: flex; align-items: center; flex-wrap: wrap; gap: 0.4rem; justify-content: center; margin: 0.4rem 0 1rem; }
.orpg-rg-boon { width: 32px; height: 32px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: oklch(0.24 0.08 300 / 0.7); border: 1px solid oklch(0.7 0.12 320 / 0.4); font-size: 1.05rem; }
.orpg-rg-revives { font-size: 0.8rem; color: #ffd86b; font-weight: 700; margin-left: 0.3rem; }
.orpg-rg-action { text-align: center; }
.orpg-rg-nodeinfo { color: #cdd3e0; font-size: 0.92rem; margin-bottom: 0.7rem; }
.orpg-rg-nodeinfo b { color: #fff; }
.orpg-rg-fight, .orpg-rg-treasure, .orpg-rg-collect { font-size: 1rem; padding: 0.75rem 1.8rem; }
.orpg-rg-boonpick { text-align: center; }
.orpg-rg-boonpick h4 { color: #fff; margin: 0 0 0.9rem; }
.orpg-rg-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0.8rem; max-width: 640px; margin: 0 auto; }
.orpg-rg-choice { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; cursor: pointer; padding: 1.2rem 0.8rem; border-radius: 14px; background: linear-gradient(160deg, oklch(0.24 0.09 310 / 0.8), oklch(0.15 0.05 300 / 0.7)); border: 1px solid oklch(0.6 0.12 320 / 0.45); color: #fff; text-align: center; transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; }
.orpg-rg-choice span { font-size: 2rem; }
.orpg-rg-choice b { font-size: 0.95rem; }
.orpg-rg-choice small { font-size: 0.76rem; color: #c5b8e8; }
.orpg-rg-choice:hover { transform: translateY(-4px); border-color: #ffd24d; box-shadow: 0 12px 28px -10px oklch(0.7 0.16 320 / 0.7); }

/* La Grieta: nodos de evento */
.orpg-rg-node.t-event { border-color: #b98bff; }
.orpg-rg-event { max-width: 620px; margin: 0 auto; }
.orpg-rg-evhead { display: flex; align-items: center; gap: 0.8rem; justify-content: center; margin-bottom: 1rem; text-align: left; }
.orpg-rg-evhead > span { font-size: 2.6rem; }
.orpg-rg-evhead b { color: #fff; font-size: 1.1rem; display: block; }
.orpg-rg-evhead small { color: #c5b8e8; font-size: 0.82rem; }
.orpg-rg-evopts { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; }
@media (max-width: 560px) { .orpg-rg-evopts { grid-template-columns: 1fr; } }
.orpg-rg-evopt { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; cursor: pointer; padding: 1.1rem 0.9rem; border-radius: 14px; background: linear-gradient(160deg, oklch(0.22 0.08 300 / 0.8), oklch(0.14 0.05 300 / 0.7)); border: 1px solid oklch(0.6 0.12 320 / 0.45); color: #fff; text-align: center; transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; }
.orpg-rg-evopt b { font-size: 0.95rem; }
.orpg-rg-evopt small { font-size: 0.76rem; color: #c5b8e8; }
.orpg-rg-evopt:hover:not(:disabled) { transform: translateY(-3px); border-color: #ffd24d; box-shadow: 0 10px 24px -10px oklch(0.7 0.16 320 / 0.6); }
.orpg-rg-evopt:disabled { opacity: 0.4; cursor: not-allowed; }

/* ===================== PINBALL DEL ABISMO ===================== */
.orpg-bhub-pin { background: linear-gradient(160deg, oklch(0.28 0.11 200 / 0.85), oklch(0.16 0.06 220 / 0.7)) !important; border-color: oklch(0.7 0.14 210 / 0.5) !important; }
.orbis-rpg.orpg-game .orpg-stage > .orbis-rpg__pinball { min-height: calc(100vh - 230px); display: flex; flex-direction: column; }
/* tablero alto: alinear arriba (no centrar) para que quepa entero de arriba a abajo */
.orbis-rpg__pinball > [data-rpg-pinball] { flex: 1; display: flex; flex-direction: column; justify-content: flex-start; }
/* durante el juego se oculta la cabecera descriptiva de la pantalla (redunda con el título) para ganar alto */
.orbis-rpg__pinball:has(.orpg-pin-canvas) > header { display: none; }
.orpg-pin-intro { max-width: 460px; margin: 1.4rem auto; text-align: center; padding: 1.8rem 1.4rem; border-radius: 18px; background: radial-gradient(120% 80% at 50% 0%, oklch(0.28 0.1 220 / 0.5), oklch(0.13 0.05 260 / 0.7)); border: 1px solid oklch(0.6 0.12 220 / 0.4); }
.orpg-pin-bossicon { font-size: 3.6rem; filter: drop-shadow(0 0 14px var(--bc, #8a6bff)); }
.orpg-pin-intro h3 { color: #fff; margin: 0.3rem 0 0.6rem; font-size: 1.3rem; }
.orpg-pin-intro p { color: #cdd3e0; line-height: 1.5; margin: 0.5rem 0; }
.orpg-pin-meta { font-size: 0.82rem; color: #b6bdcc; margin: 0.8rem 0 1.1rem; }
.orpg-pin-meta b { color: #ffd86b; }
.orpg-pin-play { font-size: 1.05rem; padding: 0.8rem 2rem; }
.orpg-pin-hud { display: flex; justify-content: space-between; width: min(440px, 94vw); margin: 0.4rem auto 0.3rem; font-size: 0.9rem; color: #cdd3e0; }
.orpg-pin-hud b { color: #fff; }
.orpg-pin-hpbar { width: min(440px, 94vw); margin: 0 auto 0.5rem; height: 14px; border-radius: 999px; background: oklch(0 0 0 / 0.4); overflow: hidden; border: 1px solid oklch(1 0 0 / 0.12); }
.orpg-pin-hpbar i { display: block; height: 100%; background: linear-gradient(90deg, #ff5f6d, #ffc371); transition: width 0.15s ease; }
/* Tablero grande y alto: el ancho se deriva de la altura disponible (ratio 440/900 = 0.489)
   para que el pinball entero quepa a lo alto y se vea lo más grande posible. */
.orpg-pin-stage { position: relative; margin: 0.2rem auto 0; aspect-ratio: 440 / 900; height: min(calc(100vh - 250px), 900px); max-width: 94vw; }
.orpg-pin-canvas { width: 100%; height: 100%; display: block; border-radius: 16px; border: 1px solid oklch(0.6 0.1 260 / 0.4); box-shadow: 0 12px 34px -12px rgba(0,0,0,0.75); touch-action: none; }
.orpg-pin-msg { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.6rem; background: rgba(8,6,20,0.72); border-radius: 14px; }
.orpg-pin-msg[hidden] { display: none; }
.orpg-pin-msg b { font-size: 1.4rem; font-family: 'Cinzel', serif; }
.orpg-pin-msg b.win { color: #ffd86b; text-shadow: 0 0 14px rgba(255,216,107,0.6); }
.orpg-pin-msg b.lose { color: #ff7a8a; }
.orpg-pin-msgsub { color: #cdd3e0; font-size: 0.9rem; }
.orpg-pin-ctrls { display: flex; justify-content: space-between; gap: 0.8rem; width: min(440px, 94vw); margin: 0.7rem auto 0; }
.orpg-pin-flip { flex: 1; font-size: 1.6rem; padding: 0.7rem 0; border-radius: 14px; background: linear-gradient(160deg, oklch(0.3 0.1 260 / 0.9), oklch(0.18 0.06 260 / 0.8)); border: 1px solid oklch(0.65 0.12 260 / 0.5); color: #ffd24d; cursor: pointer; user-select: none; touch-action: none; }
.orpg-pin-flip:active { background: oklch(0.4 0.14 260 / 0.95); transform: scale(0.97); }
