:root {
    --royalis-navy: #102744;
    --royalis-blue: #2f6da8;
    --royalis-sky: #d9efff;
    --royalis-ivory: #fffaf0;
    --royalis-white: #ffffff;
    --royalis-gold: #c99632;
    --royalis-gold-light: #f1d78d;
    --royalis-text: #263548;
    --royalis-muted: #66778d;
    --royalis-border: rgba(201, 150, 50, 0.35);
    --royalis-shadow: 0 24px 60px rgba(16, 39, 68, 0.14);
    --royalis-radius-lg: 28px;
    --royalis-radius-md: 18px;
    --royalis-radius-sm: 12px;
    --royalis-shell: min(1200px, calc(100vw - 32px));
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.royalis-body {
    margin: 0;
    font: 16px/1.6 "Segoe UI", "Trebuchet MS", Arial, sans-serif;
    color: var(--royalis-text);
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.75), transparent 30%),
        linear-gradient(180deg, #edf7ff 0%, #f9f3e9 48%, #f7fbff 100%);
}

a {
    color: var(--royalis-blue);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

img {
    max-width: 100%;
    height: auto;
}

button,
input,
select,
textarea {
    font: inherit;
}

:focus-visible {
    outline: 3px solid rgba(47, 109, 168, 0.4);
    outline-offset: 2px;
}

.royalis-skip-link {
    position: absolute;
    left: 16px;
    top: -60px;
    padding: 10px 14px;
    background: var(--royalis-navy);
    color: #fff;
    z-index: 1000;
}

.royalis-skip-link:focus {
    top: 16px;
}

.royalis-shell {
    min-height: 100vh;
}

.royalis-header {
    position: sticky;
    top: 0;
    z-index: 50;
    padding: 16px;
    transition: background-color 0.25s ease, box-shadow 0.25s ease, backdrop-filter 0.25s ease;
}

.royalis-header.is-scrolled {
    background: rgba(255, 250, 240, 0.92);
    box-shadow: 0 12px 30px rgba(16, 39, 68, 0.12);
    backdrop-filter: blur(10px);
}

.royalis-header-bar {
    width: var(--royalis-shell);
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 26px;
}

.royalis-brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    max-width: 280px;
}

.royalis-brand img {
    width: 70px;
    aspect-ratio: 494 / 318;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(16, 39, 68, 0.18));
}

.royalis-brand-copy {
    display: flex;
    flex-direction: column;
    color: var(--royalis-navy);
}

.royalis-brand-copy strong,
.royalis-section-heading h2,
.royalis-content-header h1,
.royalis-hero-copy h1,
.royalis-site-footer h2,
.royalis-site-footer h3,
.royalis-panel h2,
.royalis-panel h3 {
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: 0.02em;
}

.royalis-brand-copy span {
    font-size: 0.9rem;
    color: var(--royalis-muted);
}

.royalis-nav-toggle {
    display: none;
}

.royalis-nav-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.royalis-primary-nav,
.royalis-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.royalis-primary-nav a,
.royalis-nav-trigger {
    color: var(--royalis-navy);
    font-weight: 600;
}

.royalis-nav-link,
.royalis-nav-trigger {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 4px;
    line-height: 1;
    white-space: nowrap;
}

.royalis-nav-group {
    position: relative;
    display: flex;
    align-items: center;
}

.royalis-nav-trigger {
    cursor: pointer;
    border: 0;
    background: transparent;
}

.royalis-nav-trigger::after {
    content: "";
    width: 8px;
    height: 8px;
    margin-left: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
}

.royalis-nav-dropdown {
    position: absolute;
    left: 0;
    top: calc(100% - 2px);
    min-width: 240px;
    padding: 12px 10px 10px;
    border-radius: 18px;
    background: rgba(255, 250, 240, 0.98);
    box-shadow: var(--royalis-shadow);
    display: grid;
    gap: 6px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.royalis-nav-group.is-open .royalis-nav-dropdown,
.royalis-nav-group:hover .royalis-nav-dropdown,
.royalis-nav-group:focus-within .royalis-nav-dropdown {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.royalis-nav-dropdown-link {
    display: block;
    padding: 10px 12px;
    border-radius: 12px;
    white-space: nowrap;
}

.royalis-nav-dropdown-link:hover {
    background: rgba(47, 109, 168, 0.08);
    text-decoration: none;
}

.royalis-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 700;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.royalis-button:hover {
    transform: translateY(-1px);
    text-decoration: none;
}

.royalis-button-gold {
    color: #332100;
    background: linear-gradient(135deg, var(--royalis-gold-light), var(--royalis-gold));
    box-shadow: 0 12px 26px rgba(201, 150, 50, 0.28);
}

.royalis-button-muted {
    color: var(--royalis-navy);
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(16, 39, 68, 0.12);
}

.royalis-button-clear {
    color: var(--royalis-navy);
    border-color: rgba(16, 39, 68, 0.18);
    background: transparent;
}

.royalis-account-menu {
    position: relative;
}

.royalis-account-menu summary {
    list-style: none;
    cursor: pointer;
    padding: 12px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(16, 39, 68, 0.12);
    font-weight: 600;
}

.royalis-account-menu summary::-webkit-details-marker {
    display: none;
}

.royalis-account-menu-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    min-width: 220px;
    padding: 10px;
    border-radius: 18px;
    background: rgba(255, 250, 240, 0.98);
    box-shadow: var(--royalis-shadow);
    display: grid;
    gap: 6px;
}

.royalis-account-menu-panel a {
    display: block;
    padding: 10px 12px;
    border-radius: 12px;
}

.royalis-account-menu-panel a:hover {
    background: rgba(47, 109, 168, 0.08);
    text-decoration: none;
}

.royalis-session-strip,
.royalis-submenu,
.royalis-pagemenu,
.message,
.error,
.notice {
    width: var(--royalis-shell);
    margin: 0 auto 16px;
}

.royalis-session-strip-inner,
.royalis-submenu,
.royalis-pagemenu,
.message,
.error,
.notice {
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(16, 39, 68, 0.1);
    box-shadow: 0 12px 26px rgba(16, 39, 68, 0.08);
}

.royalis-session-strip-inner {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 14px 18px;
}

.royalis-submenu,
.royalis-pagemenu {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 16px;
}

.royalis-submenu-link,
.royalis-pagemenu-link {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(47, 109, 168, 0.08);
}

.royalis-submenu-link.is-current {
    background: rgba(201, 150, 50, 0.18);
}

.royalis-pagemenu-label {
    font-weight: 700;
    color: var(--royalis-navy);
}

.royalis-main {
    padding-bottom: 48px;
}

.royalis-page-shell {
    width: var(--royalis-shell);
    margin: 0 auto;
}

.royalis-page-shell-home {
    width: 100%;
}

.royalis-hero {
    position: relative;
    min-height: 780px;
    padding: 120px 16px 80px;
    background-image: var(--hero-image);
    background-position: center center;
    background-size: cover;
    overflow: hidden;
}

.royalis-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(10, 28, 48, 0.72) 0%, rgba(10, 28, 48, 0.38) 42%, rgba(10, 28, 48, 0.1) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0));
}

.royalis-hero-inner {
    position: relative;
    z-index: 1;
    width: var(--royalis-shell);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
    gap: 40px;
    align-items: center;
}

.royalis-hero-copy {
    max-width: 650px;
    color: #fff;
}

.royalis-kicker,
.royalis-section-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--royalis-gold);
}

.royalis-hero-copy h1 {
    margin: 18px 0;
    font-size: clamp(2.6rem, 4vw, 4.8rem);
    line-height: 1.05;
}

.royalis-hero-copy p {
    max-width: 60ch;
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.88);
}

.royalis-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.royalis-hero-brand {
    justify-self: end;
    max-width: 360px;
    padding: 24px;
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(4px);
}

.royalis-opening-status {
    margin-top: 20px;
}

.royalis-opening-badge {
    display: inline-flex;
    padding: 8px 14px;
    border-radius: 999px;
    color: #332100;
    background: linear-gradient(135deg, var(--royalis-gold-light), var(--royalis-gold));
    font-weight: 700;
}

.royalis-countdown {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 16px;
}

.royalis-countdown > div {
    min-width: 92px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.18);
    text-align: center;
}

.royalis-countdown strong {
    display: block;
    font-size: 1.7rem;
}

.royalis-status-strip,
.royalis-section,
.royalis-community-cta {
    padding: 28px 16px;
}

.royalis-status-strip-inner,
.royalis-community-cta-inner {
    width: var(--royalis-shell);
    margin: 0 auto;
    padding: 24px;
    border-radius: var(--royalis-radius-lg);
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: var(--royalis-shadow);
}

.royalis-status-grid,
.royalis-card-grid {
    display: grid;
    gap: 18px;
}

.royalis-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 18px;
}

.royalis-status-card,
.royalis-info-card,
.royalis-editorial-card,
.royalis-dungeon-card,
.royalis-news-card,
.royalis-wiki-card,
.royalis-panel,
.royalis-ranking-row,
.royalis-wiki-list-item {
    border-radius: var(--royalis-radius-md);
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.82);
    box-shadow: var(--royalis-shadow);
}

.royalis-status-card,
.royalis-info-card,
.royalis-news-card,
.royalis-wiki-card,
.royalis-ranking-row,
.royalis-wiki-list-item {
    padding: 20px;
}

.royalis-status-card span,
.royalis-info-card h3,
.royalis-news-meta,
.royalis-wiki-card-status {
    color: var(--royalis-muted);
}

.royalis-status-card strong {
    display: block;
    margin-top: 8px;
    color: var(--royalis-navy);
    font-size: 1.3rem;
}

.royalis-section-heading,
.royalis-content-header {
    width: var(--royalis-shell);
    margin: 0 auto 22px;
}

.royalis-content-header {
    padding: 12px 0 4px;
}

.royalis-section-heading h2,
.royalis-content-header h1 {
    margin: 10px 0 12px;
    font-size: clamp(2rem, 3vw, 3.4rem);
    line-height: 1.1;
    color: var(--royalis-navy);
}

.royalis-section-heading p,
.royalis-content-header p {
    max-width: 70ch;
    color: var(--royalis-muted);
}

.royalis-card-grid {
    width: var(--royalis-shell);
    margin: 0 auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.royalis-split-panel {
    width: var(--royalis-shell);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 18px;
}

.royalis-editorial-card {
    padding: 28px;
}

.royalis-editorial-card ul {
    padding-left: 18px;
}

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

.royalis-dungeon-card dl {
    display: grid;
    gap: 8px;
}

.royalis-dungeon-card dt {
    color: var(--royalis-muted);
    font-weight: 700;
}

.royalis-tag {
    display: inline-flex;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    color: var(--royalis-navy);
    background: rgba(47, 109, 168, 0.12);
}

.royalis-ranking-preview,
.royalis-wiki-list {
    width: var(--royalis-shell);
    margin: 0 auto;
    display: grid;
    gap: 14px;
}

.royalis-ranking-row {
    display: grid;
    grid-template-columns: 68px 1fr;
    align-items: center;
    gap: 18px;
}

.royalis-ranking-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(201, 150, 50, 0.2), rgba(47, 109, 168, 0.16));
    color: var(--royalis-navy);
    font-weight: 800;
}

.royalis-community-cta-inner {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
}

.royalis-panel {
    width: var(--royalis-shell);
    margin: 0 auto;
    padding: 28px;
}

.royalis-auth-layout {
    width: var(--royalis-shell);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
    gap: 22px;
    align-items: start;
}

.royalis-auth-copy,
.royalis-auth-panel {
    margin-top: 8px;
}

.royalis-prose img,
.royalis-default-content img {
    height: auto;
}

.royalis-prose table,
.royalis-default-content table {
    max-width: 100%;
}

.royalis-empty-state {
    width: var(--royalis-shell);
    margin: 0 auto;
    padding: 30px;
    border-radius: var(--royalis-radius-md);
    text-align: center;
    background: rgba(255, 255, 255, 0.72);
    border: 1px dashed var(--royalis-border);
}

.royalis-site-footer {
    margin-top: 48px;
    padding: 36px 16px 18px;
    color: rgba(255, 255, 255, 0.88);
    background:
        linear-gradient(180deg, rgba(16, 39, 68, 0.96), rgba(7, 19, 34, 0.98)),
        radial-gradient(circle at top, rgba(47, 109, 168, 0.2), transparent 40%);
}

.royalis-footer-inner,
.royalis-footer-meta-inner {
    width: var(--royalis-shell);
    margin: 0 auto;
}

.royalis-footer-inner {
    display: grid;
    grid-template-columns: 1.5fr repeat(3, 1fr);
    gap: 24px;
}

.royalis-site-footer ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.royalis-site-footer li + li {
    margin-top: 6px;
}

.royalis-site-footer a {
    color: rgba(255, 255, 255, 0.9);
}

.royalis-footer-meta {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.royalis-footer-meta-inner,
.royalis-footer-tools {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    flex-wrap: wrap;
}

.royalis-hidden-form {
    display: none;
}

.royalis-wiki-index,
.royalis-wiki-search-panel {
    display: grid;
    gap: 22px;
}

.royalis-wiki-shell {
    width: var(--royalis-shell);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.royalis-wiki-main {
    min-width: 0;
}

.royalis-wiki-hub {
    display: grid;
    gap: 24px;
}

.royalis-wiki-hub-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(220px, 0.6fr);
    gap: 18px;
    padding: 24px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(47, 109, 168, 0.12), rgba(201, 150, 50, 0.1));
}

.royalis-wiki-hub-hero h2,
.royalis-wiki-hub-links h3,
.royalis-wiki-hub-note h3,
.royalis-wiki-feature-card h3 {
    margin: 0 0 10px;
}

.royalis-wiki-hub-meta {
    display: grid;
    align-content: start;
    gap: 6px;
    padding: 18px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
}

.royalis-wiki-hub-meta strong {
    font-size: 1.8rem;
    color: var(--royalis-navy);
}

.royalis-wiki-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.royalis-wiki-feature-card,
.royalis-wiki-hub-note,
.royalis-wiki-hub-links {
    padding: 22px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.82);
    box-shadow: var(--royalis-shadow);
}

.royalis-wiki-hub-sections {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.royalis-wiki-hub-links ul {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 8px;
}

.royalis-wiki-sidebar-nav {
    width: 100%;
    margin: 0;
    position: sticky;
    top: 108px;
    display: grid;
    gap: 18px;
    padding: 22px;
}

.royalis-wiki-sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.royalis-wiki-sidebar-toggle {
    display: none;
}

.royalis-wiki-search-form-sidebar {
    display: grid;
    gap: 10px;
}

.royalis-wiki-sidebar-groups {
    display: grid;
    gap: 16px;
}

.royalis-wiki-sidebar-section h2,
.royalis-wiki-subtree-group h3 {
    margin: 0 0 10px;
    font-size: 1rem;
}

.royalis-wiki-sidebar-section h2 a,
.royalis-wiki-sidebar-links a,
.royalis-wiki-subtree-link,
.royalis-wiki-subtree-group a {
    color: var(--royalis-navy);
}

.royalis-wiki-sidebar-section.is-current h2 a,
.royalis-wiki-sidebar-links a.is-current,
.royalis-wiki-subtree-link.is-current,
.royalis-wiki-subtree-group a.is-current {
    color: var(--royalis-blue);
    font-weight: 700;
}

.royalis-wiki-sidebar-links,
.royalis-wiki-subtree-group ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 8px;
}

.royalis-wiki-subtree {
    display: grid;
    gap: 14px;
}

.royalis-wiki-subtree-link,
.royalis-wiki-sidebar-links a,
.royalis-wiki-subtree-group a {
    display: block;
    padding: 8px 10px;
    border-radius: 12px;
    background: rgba(47, 109, 168, 0.06);
}

.royalis-wiki-subtree-link:hover,
.royalis-wiki-sidebar-links a:hover,
.royalis-wiki-subtree-group a:hover {
    text-decoration: none;
    background: rgba(47, 109, 168, 0.12);
}

.royalis-wiki-sidebar-empty {
    margin: 0;
    color: var(--royalis-muted);
}

.royalis-wiki-sidebar-note {
    margin: 0;
    color: var(--royalis-muted);
    font-size: 0.92rem;
}

.royalis-wiki-search-form {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.royalis-wiki-search-form input[type="search"] {
    flex: 1 1 280px;
}

.royalis-wiki-article-layout {
    width: var(--royalis-shell);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.7fr);
    gap: 22px;
}

.royalis-wiki-article,
.royalis-wiki-sidebar {
    width: 100%;
    margin: 0;
}

.royalis-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.royalis-breadcrumbs a::after {
    content: "/";
    margin-left: 8px;
    color: var(--royalis-muted);
}

.royalis-breadcrumbs a:last-child::after {
    display: none;
}

.royalis-wiki-toc {
    padding: 16px 18px;
    border-radius: 16px;
    background: rgba(47, 109, 168, 0.06);
    margin-bottom: 18px;
}

.royalis-wiki-toc ul {
    margin: 0;
    padding-left: 18px;
}

.royalis-wiki-article-body > :first-child {
    margin-top: 0;
}

.royalis-default-content h2,
.royalis-default-content h3,
.royalis-wiki-article-body h2,
.royalis-wiki-article-body h3 {
    color: var(--royalis-navy);
}

.red {
    color: #9b1c1c;
}

.green {
    color: #1f6a37;
}

@media (max-width: 1024px) {
    .royalis-hero-inner,
    .royalis-auth-layout,
    .royalis-split-panel,
    .royalis-wiki-shell,
    .royalis-wiki-article-layout,
    .royalis-footer-inner,
    .royalis-card-grid-4 {
        grid-template-columns: 1fr;
    }

    .royalis-card-grid,
    .royalis-dungeon-grid,
    .royalis-status-grid,
    .royalis-wiki-feature-grid,
    .royalis-wiki-hub-sections {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .royalis-hero {
        min-height: 720px;
        background-position: 34% center;
    }

    .royalis-hero-brand {
        justify-self: start;
        max-width: 280px;
    }

    .royalis-header-bar {
        gap: 18px;
    }

    .royalis-brand {
        max-width: 230px;
    }

    .royalis-wiki-sidebar-nav {
        position: static;
    }

    .royalis-wiki-hub-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .royalis-header-bar {
        grid-template-columns: 1fr auto;
    }

    .royalis-nav-toggle {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        justify-content: center;
        min-height: 46px;
        padding: 0 16px;
        border-radius: 999px;
        border: 1px solid rgba(16, 39, 68, 0.12);
        background: rgba(255, 255, 255, 0.92);
        color: var(--royalis-navy);
    }

    .royalis-nav-toggle span:not(.royalis-nav-toggle-text) {
        display: block;
        width: 16px;
        height: 2px;
        margin: 2px 0;
        background: currentColor;
    }

    .royalis-nav-panel {
        position: absolute;
        top: calc(100% + 12px);
        left: 16px;
        right: 16px;
        display: none;
        padding: 18px;
        border-radius: 24px;
        background: rgba(255, 250, 240, 0.98);
        box-shadow: var(--royalis-shadow);
        flex-direction: column;
        align-items: stretch;
    }

    .royalis-wiki-sidebar-nav {
        padding: 18px;
    }

    .royalis-wiki-sidebar-toggle {
        display: inline-flex;
    }

    .royalis-wiki-sidebar-groups {
        display: none;
    }

    .royalis-wiki-sidebar-nav.is-open .royalis-wiki-sidebar-groups {
        display: grid;
    }

    .royalis-wiki-feature-grid,
    .royalis-wiki-hub-sections {
        grid-template-columns: 1fr;
    }

    .royalis-nav-panel.is-open {
        display: flex;
    }

    .royalis-primary-nav,
    .royalis-header-actions,
    .royalis-community-cta-inner,
    .royalis-session-strip-inner,
    .royalis-footer-meta-inner,
    .royalis-footer-tools {
        flex-direction: column;
        align-items: stretch;
    }

    .royalis-primary-nav a,
    .royalis-nav-group,
    .royalis-nav-trigger,
    .royalis-header-actions > a,
    .royalis-header-actions > details {
        width: 100%;
    }

    .royalis-nav-link,
    .royalis-nav-trigger {
        width: 100%;
        justify-content: space-between;
        padding: 10px 12px;
        border-radius: 14px;
        background: rgba(47, 109, 168, 0.06);
    }

    .royalis-nav-dropdown {
        position: static;
        min-width: 0;
        padding: 8px 0 0;
        background: transparent;
        box-shadow: none;
        opacity: 1;
        pointer-events: auto;
        transform: none;
    }

    .royalis-nav-dropdown-link {
        white-space: normal;
        margin-left: 10px;
    }

    .royalis-brand {
        max-width: 210px;
    }

    .royalis-brand img {
        width: 56px;
    }

    .royalis-status-grid,
    .royalis-card-grid,
    .royalis-dungeon-grid {
        grid-template-columns: 1fr;
    }

    .royalis-panel {
        padding: 20px;
    }

    .royalis-hero {
        min-height: 680px;
        padding-top: 100px;
        background-position: 42% center;
    }

    .royalis-hero-copy h1 {
        font-size: 2.4rem;
    }

    .royalis-page-shell,
    .royalis-section-heading,
    .royalis-content-header,
    .royalis-session-strip,
    .royalis-submenu,
    .royalis-pagemenu,
    .message,
    .error,
    .notice {
        width: min(100vw - 24px, 100%);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
    }
}

/* ========================================================================== 
   Royalis Wiki — Citizen/Magic Garden-inspired knowledge hub
   Scoped to the wiki module so the rest of FluxCP remains unchanged.
   ========================================================================== */
body.module-wiki {
    --wiki-ink: #26323b;
    --wiki-muted: #73808a;
    --wiki-line: rgba(76, 88, 100, 0.13);
    --wiki-paper: #fffefb;
    --wiki-page: #f4f2ec;
    --wiki-green: #4d765d;
    --wiki-green-dark: #294d3a;
    --wiki-lilac: #8b78b7;
    --wiki-rose: #d38291;
    --wiki-gold: #c59a50;
    --wiki-shadow: 0 20px 60px rgba(51, 59, 60, 0.10);
    background:
        radial-gradient(circle at 82% 4%, rgba(195, 176, 222, 0.24), transparent 27rem),
        radial-gradient(circle at 8% 25%, rgba(178, 211, 185, 0.2), transparent 24rem),
        var(--wiki-page);
    color: var(--wiki-ink);
}

body.module-wiki .royalis-main { padding: 24px 0 0; }
body.module-wiki .royalis-page-shell { width: 100%; }
body.module-wiki .royalis-content-header,
body.module-wiki .royalis-submenu,
body.module-wiki .royalis-pagemenu { display: none; }

.royalis-wiki-shell {
    width: min(1480px, calc(100vw - 36px));
    margin: 0 auto 64px;
    display: grid;
    grid-template-columns: 276px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.royalis-wiki-main { min-width: 0; }

/* Sidebar */
.royalis-wiki-sidebar-nav {
    position: sticky;
    top: 102px;
    z-index: 5;
    width: 100%;
    max-height: calc(100vh - 122px);
    overflow: auto;
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.92);
    border-radius: 26px;
    background: rgba(255, 254, 251, 0.9);
    box-shadow: 0 18px 48px rgba(52, 61, 59, 0.08);
    backdrop-filter: blur(18px);
    scrollbar-width: thin;
}

.royalis-wiki-sidebar-brand {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin-bottom: 18px;
}

.royalis-wiki-mark {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 16px 16px 16px 5px;
    color: #fff;
    font: 700 1.45rem/1 Georgia, serif;
    background: linear-gradient(145deg, #476b55, #85a777);
    box-shadow: 0 10px 22px rgba(57, 93, 68, 0.24);
}
.royalis-wiki-mark:hover { text-decoration: none; transform: translateY(-1px); }
.royalis-wiki-sidebar-brand div { display: grid; line-height: 1.12; }
.royalis-wiki-sidebar-brand div span { color: var(--wiki-muted); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.royalis-wiki-sidebar-brand div strong { color: var(--wiki-green-dark); font: 700 1.25rem/1.15 Georgia, serif; }

.royalis-wiki-sidebar-toggle {
    display: none;
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid var(--wiki-line);
    border-radius: 12px;
    background: #fff;
    color: var(--wiki-green-dark);
    font-weight: 700;
}

.royalis-wiki-search-form-sidebar {
    position: relative;
    display: block;
    margin: 0 0 18px;
}
.royalis-wiki-search-form-sidebar input[type="search"] {
    width: 100%;
    min-height: 46px;
    padding: 0 14px 0 42px;
    border: 1px solid var(--wiki-line);
    border-radius: 15px;
    background: #f5f5f1;
    color: var(--wiki-ink);
    box-shadow: none;
}
.royalis-wiki-search-form-sidebar input[type="search"]:focus { background: #fff; border-color: rgba(77, 118, 93, .42); }
.royalis-wiki-search-icon { position: absolute; left: 15px; top: 50%; transform: translateY(-52%); color: var(--wiki-green); font-size: 1.2rem; pointer-events: none; }

.royalis-wiki-sidebar-groups { display: grid; gap: 15px; }
.royalis-wiki-home-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 0 12px;
    border-radius: 13px;
    color: var(--wiki-ink);
}
.royalis-wiki-home-link:hover,
.royalis-wiki-home-link.is-current { background: #edf4ed; color: var(--wiki-green-dark); text-decoration: none; }
.royalis-wiki-home-link > span { font-size: 1.15rem; }
.royalis-wiki-nav-label {
    margin: 3px 10px 0;
    color: #9a9f9e;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.royalis-wiki-category-nav,
.royalis-wiki-category-children,
.royalis-wiki-feature-nav,
.royalis-wiki-related-list { margin: 0; padding: 0; list-style: none; }
.royalis-wiki-category-nav { display: grid; gap: 4px; }
.royalis-wiki-category-nav > li > a {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    min-height: 42px;
    padding: 5px 9px;
    border-radius: 13px;
    color: #48545a;
    font-size: .88rem;
    font-weight: 650;
}
.royalis-wiki-category-nav > li > a:hover,
.royalis-wiki-category-nav > li.is-current > a { background: #f0f2ed; color: var(--wiki-green-dark); text-decoration: none; }
.royalis-wiki-category-nav small { color: #9aa09e; font-size: .69rem; font-weight: 700; }
.royalis-wiki-nav-glyph {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 9px;
    background: #eef2ee;
    color: var(--wiki-green);
    font-size: .83rem;
}
.royalis-wiki-category-children { margin: 5px 0 8px 39px; padding-left: 10px; border-left: 1px solid #dfe4de; }
.royalis-wiki-category-children a { display: block; padding: 6px 8px; border-radius: 9px; color: #697379; font-size: .79rem; line-height: 1.3; }
.royalis-wiki-category-children a:hover,
.royalis-wiki-category-children a.is-current { background: #edf4ed; color: var(--wiki-green-dark); text-decoration: none; }
.royalis-wiki-feature-nav { display: grid; gap: 2px; }
.royalis-wiki-feature-nav a { display: block; padding: 7px 11px; border-radius: 10px; color: #697379; font-size: .82rem; }
.royalis-wiki-feature-nav a:hover,
.royalis-wiki-feature-nav a.is-current { background: #f1eef7; color: #67558f; text-decoration: none; }
.royalis-wiki-sidebar-footer { display: flex; justify-content: space-between; gap: 10px; margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--wiki-line); color: #929997; font-size: .72rem; }
.royalis-wiki-sidebar-footer a { color: var(--wiki-green); font-weight: 700; }

/* Shared wiki content */
.royalis-wiki-eyebrow,
.royalis-wiki-section-heading span,
.royalis-wiki-rail-label {
    margin: 0;
    color: var(--wiki-green);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.royalis-wiki-section { margin-top: 34px; }
.royalis-wiki-section-heading { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin-bottom: 17px; }
.royalis-wiki-section-heading h2 { margin: 4px 0 0; color: var(--wiki-green-dark); font: 700 clamp(1.55rem, 2.6vw, 2.2rem)/1.1 Georgia, serif; }
.royalis-wiki-section-heading > p { max-width: 540px; margin: 0; color: var(--wiki-muted); font-size: .9rem; }
.royalis-wiki-section-heading > a { color: var(--wiki-green); font-size: .86rem; font-weight: 750; }
.royalis-wiki-section-heading code { padding: 2px 6px; border-radius: 6px; background: #ebe9e2; }
.royalis-wiki-empty { padding: 36px; border: 1px dashed #cfd5cf; border-radius: 22px; background: rgba(255,255,255,.55); color: var(--wiki-muted); text-align: center; }

/* Main-page hero */
.royalis-wiki-home-hero {
    position: relative;
    min-height: 410px;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    align-items: end;
    gap: 24px;
    padding: clamp(34px, 5.5vw, 70px);
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 34px;
    color: #fff;
    background:
        linear-gradient(116deg, rgba(37, 71, 50, .98) 0%, rgba(67, 104, 75, .94) 53%, rgba(102, 123, 94, .83) 100%);
    box-shadow: var(--wiki-shadow);
}
.royalis-wiki-home-hero::before,
.royalis-wiki-home-hero::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.royalis-wiki-home-hero::before { width: 420px; height: 420px; right: -120px; top: -170px; border: 1px solid rgba(255,255,255,.13); box-shadow: 0 0 0 48px rgba(255,255,255,.035), 0 0 0 96px rgba(255,255,255,.025); }
.royalis-wiki-home-hero::after { width: 280px; height: 280px; right: 110px; bottom: -210px; background: rgba(213,190,224,.16); filter: blur(2px); }
.royalis-wiki-home-copy { position: relative; z-index: 2; max-width: 760px; }
.royalis-wiki-home-hero .royalis-wiki-eyebrow { color: #dfeadf; }
.royalis-wiki-home-hero h1 { margin: 12px 0 18px; color: #fff; font: 700 clamp(2.6rem, 6vw, 5.4rem)/.92 Georgia, serif; letter-spacing: -.035em; }
.royalis-wiki-home-hero h1 em { color: #f2dcb2; font-weight: 400; }
.royalis-wiki-home-copy > p:not(.royalis-wiki-eyebrow) { max-width: 690px; margin: 0; color: rgba(255,255,255,.82); font-size: 1.02rem; }
.royalis-wiki-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 26px; }
.royalis-wiki-primary-action,
.royalis-wiki-secondary-action { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border-radius: 15px; font-weight: 800; }
.royalis-wiki-primary-action { background: #f1d8aa; color: #354435; box-shadow: 0 12px 24px rgba(23,42,28,.22); }
.royalis-wiki-secondary-action { border: 1px solid rgba(255,255,255,.26); background: rgba(255,255,255,.09); color: #fff; }
.royalis-wiki-primary-action:hover,
.royalis-wiki-secondary-action:hover { text-decoration: none; transform: translateY(-1px); }
.royalis-wiki-hero-stats { position: relative; z-index: 2; display: grid; gap: 9px; }
.royalis-wiki-hero-stats > div { display: grid; padding: 15px 17px; border: 1px solid rgba(255,255,255,.14); border-radius: 17px; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.royalis-wiki-hero-stats strong { color: #fff; font: 700 1.65rem/1 Georgia, serif; }
.royalis-wiki-hero-stats span { margin-top: 5px; color: rgba(255,255,255,.68); font-size: .73rem; }
.royalis-wiki-hero-art { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.royalis-wiki-hero-art span { position: absolute; display: block; width: 10px; height: 10px; border-radius: 50% 50% 50% 0; background: rgba(242,220,178,.55); transform: rotate(-35deg); }
.royalis-wiki-hero-art span:nth-child(1) { right: 34%; top: 18%; box-shadow: 40px 80px 0 rgba(255,255,255,.16), 150px 30px 0 rgba(232,205,234,.24), 210px 140px 0 rgba(255,255,255,.15); }
.royalis-wiki-hero-art span:nth-child(2) { right: 15%; top: 42%; transform: rotate(25deg) scale(.7); box-shadow: 60px -80px 0 rgba(242,220,178,.26), -120px 90px 0 rgba(255,255,255,.15); }
.royalis-wiki-hero-art span:nth-child(3) { left: 5%; bottom: 5%; transform: scale(.5); box-shadow: 95px 15px 0 rgba(255,255,255,.17), 270px -20px 0 rgba(242,220,178,.18); }

/* Category cards */
.royalis-wiki-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.royalis-wiki-category-card {
    position: relative;
    min-height: 225px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 21px;
    border: 1px solid rgba(255,255,255,.88);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 38px rgba(64,70,67,.07);
    color: var(--wiki-ink);
    transition: transform .18s ease, box-shadow .18s ease;
}
.royalis-wiki-category-card::before { content:""; position:absolute; width:145px; height:145px; right:-50px; top:-55px; border-radius:50%; background: var(--card-wash, #edf3ed); }
.royalis-wiki-category-card:hover { transform: translateY(-4px); box-shadow: 0 20px 45px rgba(64,70,67,.12); text-decoration: none; }
.royalis-wiki-card-glyph { position: relative; z-index: 1; display:grid; place-items:center; width:52px; height:52px; margin-bottom:24px; border-radius:17px; background: var(--card-soft, #edf3ed); color: var(--card-deep, var(--wiki-green)); font-size:1.25rem; }
.royalis-wiki-card-count { position:absolute; z-index:1; top:21px; right:21px; color:#919997; font-size:.69rem; font-weight:800; text-transform:uppercase; }
.royalis-wiki-category-card strong { position:relative; z-index:1; margin-bottom:8px; color:var(--card-deep, var(--wiki-green-dark)); font:700 1.18rem/1.18 Georgia,serif; }
.royalis-wiki-category-card small { position:relative; z-index:1; color:var(--wiki-muted); font-size:.78rem; line-height:1.45; }
.royalis-wiki-category-card i { position:absolute; right:19px; bottom:16px; color:var(--card-deep, var(--wiki-green)); font-style:normal; font-size:1.15rem; }

.tone-mint { --card-soft:#e5f1e7; --card-wash:#edf6ee; --card-deep:#3d7451; }
.tone-gold { --card-soft:#f6ecd7; --card-wash:#fbf3e3; --card-deep:#9b7434; }
.tone-rose { --card-soft:#f5e4e8; --card-wash:#faedf0; --card-deep:#a75d6b; }
.tone-violet { --card-soft:#eee8f7; --card-wash:#f4effa; --card-deep:#725b9c; }
.tone-blue { --card-soft:#e5edf7; --card-wash:#edf3fa; --card-deep:#4e6f97; }
.tone-amber { --card-soft:#f8ead6; --card-wash:#fcf1e2; --card-deep:#aa7132; }
.tone-teal { --card-soft:#e0f0ee; --card-wash:#eaf6f4; --card-deep:#427c73; }
.tone-pink { --card-soft:#f6e3ee; --card-wash:#faedf4; --card-deep:#a75f85; }
.tone-red { --card-soft:#f5e1df; --card-wash:#faecea; --card-deep:#a45750; }

/* Featured cards */
.royalis-wiki-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.royalis-wiki-feature-card { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 16px; padding: 19px; border: 1px solid var(--wiki-line); border-radius: 21px; background: rgba(255,255,255,.76); }
.royalis-wiki-feature-glyph { display:grid; place-items:center; width:52px; height:52px; border-radius:16px; background:var(--card-soft,#edf3ed); color:var(--card-deep,var(--wiki-green)); }
.royalis-wiki-feature-card h3 { margin:0 0 6px; font:700 1.08rem/1.2 Georgia,serif; }
.royalis-wiki-feature-card h3 a { color:var(--card-deep,var(--wiki-green-dark)); }
.royalis-wiki-feature-card p { margin:0; color:var(--wiki-muted); font-size:.8rem; line-height:1.48; }
.royalis-wiki-feature-open { grid-column:2; color:var(--card-deep,var(--wiki-green)); font-size:.78rem; font-weight:800; }
.royalis-wiki-feature-open span { margin-left:5px; }

/* Class image row */
.royalis-wiki-class-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.royalis-wiki-class-card { position:relative; min-height:190px; overflow:hidden; border-radius:22px; background:#2d4235; box-shadow:0 14px 34px rgba(43,54,47,.12); }
.royalis-wiki-class-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(21,34,26,.88)); }
.royalis-wiki-class-card img { width:100%; height:100%; min-height:190px; object-fit:cover; transition:transform .3s ease; }
.royalis-wiki-class-card span { position:absolute; z-index:1; left:18px; right:18px; bottom:15px; color:#fff; font:700 1.02rem/1.2 Georgia,serif; }
.royalis-wiki-class-card:hover img { transform:scale(1.035); }

/* Category landing */
.royalis-wiki-category-hero { position:relative; overflow:hidden; padding:42px 44px; border-radius:30px; background:linear-gradient(135deg,var(--card-soft,#e9f0e9),#fff); border:1px solid rgba(255,255,255,.9); box-shadow:var(--wiki-shadow); }
.royalis-wiki-category-hero::after { content:""; position:absolute; width:270px; height:270px; right:-90px; top:-120px; border-radius:50%; background:var(--card-wash,#eef4ee); }
.royalis-wiki-category-hero > * { position:relative; z-index:1; }
.royalis-wiki-category-hero h1 { max-width:720px; margin:7px 0 12px; color:var(--card-deep,var(--wiki-green-dark)); font:700 clamp(2.4rem,5vw,4.4rem)/.98 Georgia,serif; }
.royalis-wiki-category-hero p:not(.royalis-wiki-eyebrow) { max-width:680px; margin:0 0 18px; color:#6f7a7e; }
.royalis-wiki-category-hero > strong { color:var(--card-deep,var(--wiki-green)); font-size:.8rem; }
.royalis-wiki-hero-glyph { display:grid; place-items:center; width:56px; height:56px; margin-bottom:22px; border-radius:18px; background:#fff; color:var(--card-deep,var(--wiki-green)); box-shadow:0 10px 25px rgba(70,80,73,.08); }
.royalis-wiki-back { display:inline-block; margin-bottom:20px; color:var(--card-deep,var(--wiki-green)); font-size:.78rem; font-weight:800; }
.royalis-wiki-article-index-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.royalis-wiki-index-card { display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:14px; align-items:center; padding:16px; border:1px solid var(--wiki-line); border-radius:18px; background:rgba(255,255,255,.76); }
.royalis-wiki-index-letter { display:grid; place-items:center; width:44px; height:44px; border-radius:14px; background:#edf2ec; color:var(--wiki-green); font:700 1.1rem/1 Georgia,serif; }
.royalis-wiki-index-card h3 { margin:0 0 4px; font:700 1rem/1.2 Georgia,serif; }
.royalis-wiki-index-card p { margin:0; color:var(--wiki-muted); font-size:.72rem; }
.royalis-wiki-arrow { color:var(--wiki-green); font-weight:900; }

/* Article page */
.royalis-wiki-article-grid { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:24px; align-items:start; }
.royalis-wiki-article-card { min-width:0; overflow:hidden; padding:0 clamp(24px,4vw,54px) 36px; border:1px solid rgba(255,255,255,.92); border-radius:30px; background:var(--wiki-paper); box-shadow:var(--wiki-shadow); }
.royalis-wiki-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:18px 0; border-bottom:1px solid var(--wiki-line); color:#959c9d; font-size:.73rem; }
.royalis-wiki-breadcrumbs a { color:#697678; }
.royalis-wiki-article-header { padding:38px 0 30px; border-bottom:1px solid var(--wiki-line); }
.royalis-wiki-article-category { display:inline-flex; gap:7px; align-items:center; padding:7px 10px; border-radius:10px; background:var(--card-soft,#e9f0e9); color:var(--card-deep,var(--wiki-green)); font-size:.69rem; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.royalis-wiki-article-header h1 { margin:15px 0 8px; color:var(--wiki-green-dark); font:700 clamp(2.35rem,5vw,4rem)/.98 Georgia,serif; letter-spacing:-.025em; }
.royalis-wiki-article-header > p { margin:0; color:var(--wiki-muted); }
.royalis-wiki-article-meta { display:flex; flex-wrap:wrap; gap:16px; margin-top:18px; color:#979e9d; font-size:.7rem; }
.royalis-wiki-article-body { padding:32px 0 20px; color:#354046; font-size:.96rem; line-height:1.72; }
.royalis-wiki-article-body > :first-child { margin-top:0; }
.royalis-wiki-article-body h2 { scroll-margin-top:120px; margin:2.1em 0 .72em; padding-bottom:.45em; border-bottom:1px solid var(--wiki-line); color:var(--wiki-green-dark); font:700 1.72rem/1.2 Georgia,serif; }
.royalis-wiki-article-body h3 { scroll-margin-top:120px; margin:1.75em 0 .55em; color:#42614d; font:700 1.28rem/1.25 Georgia,serif; }
.royalis-wiki-article-body h4 { color:#4d5b60; }
.royalis-wiki-article-body a { color:#4d765d; text-decoration:underline; text-decoration-color:rgba(77,118,93,.3); text-underline-offset:3px; }
.royalis-wiki-article-body img { border-radius:18px; box-shadow:0 12px 30px rgba(52,61,59,.10); }
.royalis-wiki-article-body blockquote { margin:1.4em 0; padding:16px 19px; border-left:4px solid #8da58d; border-radius:0 14px 14px 0; background:#f0f5ef; color:#56625b; }
.royalis-wiki-article-body pre,
.royalis-wiki-article-body code { border-radius:8px; background:#eeede8; }
.royalis-wiki-article-body code { padding:2px 6px; }
.royalis-wiki-article-body pre { overflow:auto; padding:16px; }
.royalis-wiki-article-body table { width:100%; overflow:hidden; border-collapse:separate; border-spacing:0; border:1px solid var(--wiki-line); border-radius:15px; background:#fff; }
.royalis-wiki-article-body th { background:#edf3ed; color:#3f5e49; }
.royalis-wiki-article-body th,
.royalis-wiki-article-body td { padding:10px 12px; border:0; border-bottom:1px solid var(--wiki-line); text-align:left; }
.royalis-wiki-article-body tr:last-child td { border-bottom:0; }
.royalis-wiki-article-footer { display:flex; justify-content:space-between; gap:18px; align-items:center; margin-top:24px; padding-top:20px; border-top:1px solid var(--wiki-line); color:var(--wiki-muted); font-size:.75rem; }
.royalis-wiki-article-footer a { color:var(--wiki-green); font-weight:800; }
.royalis-wiki-article-rail { position:sticky; top:102px; display:grid; gap:14px; }
.royalis-wiki-rail-card { padding:18px; border:1px solid rgba(255,255,255,.9); border-radius:20px; background:rgba(255,254,251,.82); box-shadow:0 12px 32px rgba(52,61,59,.06); backdrop-filter:blur(10px); }
.royalis-wiki-toc strong { display:block; margin-bottom:10px; color:var(--wiki-green-dark); font:700 1rem/1.2 Georgia,serif; }
.royalis-wiki-toc ul { display:grid; gap:3px; margin:0; padding:0; list-style:none; }
.royalis-wiki-toc li.is-subsection { padding-left:11px; }
.royalis-wiki-toc a { display:block; padding:6px 8px; border-left:2px solid transparent; color:#768083; font-size:.75rem; line-height:1.32; }
.royalis-wiki-toc a:hover,
.royalis-wiki-toc a.is-active { border-left-color:var(--wiki-green); color:var(--wiki-green-dark); background:#eef3ed; text-decoration:none; }
.royalis-wiki-related-list { display:grid; gap:5px; margin-top:11px; }
.royalis-wiki-related-list a { display:flex; justify-content:space-between; gap:10px; padding:9px 10px; border-radius:11px; color:#626e71; font-size:.77rem; }
.royalis-wiki-related-list a:hover { background:#f0f3ee; color:var(--wiki-green-dark); text-decoration:none; }
.royalis-wiki-related-list span { color:var(--wiki-green); }
.royalis-wiki-mobile-toc { display:none; }

/* Search */
.royalis-wiki-search-hero { padding:44px; border-radius:30px; background:linear-gradient(135deg,#e8f0e7,#f6eff7); border:1px solid rgba(255,255,255,.9); box-shadow:var(--wiki-shadow); }
.royalis-wiki-search-hero h1 { margin:7px 0 10px; color:var(--wiki-green-dark); font:700 clamp(2.3rem,5vw,4rem)/1 Georgia,serif; }
.royalis-wiki-search-hero > p:not(.royalis-wiki-eyebrow) { max-width:700px; margin:0; color:var(--wiki-muted); }
.royalis-wiki-search-large { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; margin-top:25px; padding:8px 8px 8px 16px; border:1px solid rgba(73,98,79,.16); border-radius:18px; background:#fff; box-shadow:0 12px 28px rgba(55,66,58,.08); }
.royalis-wiki-search-large > span { color:var(--wiki-green); font-size:1.2rem; }
.royalis-wiki-search-large input[type="search"] { min-width:0; min-height:44px; padding:0; border:0; background:transparent; box-shadow:none; }
.royalis-wiki-search-large button { min-height:44px; padding:0 18px; border:0; border-radius:13px; background:var(--wiki-green); color:#fff; font-weight:800; }
.royalis-wiki-search-list { display:grid; gap:11px; }
.royalis-wiki-search-list article { position:relative; padding:20px 56px 20px 21px; border:1px solid var(--wiki-line); border-radius:19px; background:rgba(255,255,255,.76); }
.royalis-wiki-search-list h2 { margin:0 0 7px; font:700 1.12rem/1.2 Georgia,serif; }
.royalis-wiki-search-list p { margin:0 0 8px; color:var(--wiki-muted); font-size:.82rem; }
.royalis-wiki-search-list small { color:#999f9e; }
.royalis-wiki-search-list .royalis-wiki-arrow { position:absolute; right:22px; top:50%; transform:translateY(-50%); }

@media (max-width: 1180px) {
    .royalis-wiki-shell { grid-template-columns:240px minmax(0,1fr); gap:20px; }
    .royalis-wiki-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .royalis-wiki-article-grid { grid-template-columns:minmax(0,1fr) 220px; gap:18px; }
}

@media (max-width: 940px) {
    body.module-wiki .royalis-main { padding-top:14px; }
    .royalis-wiki-shell { width:min(100% - 24px, 980px); grid-template-columns:1fr; }
    .royalis-wiki-sidebar-nav { position:static; max-height:none; overflow:visible; padding:15px 17px; border-radius:20px; }
    .royalis-wiki-sidebar-brand { margin:0; }
    .royalis-wiki-sidebar-toggle { display:inline-flex; align-items:center; }
    .royalis-wiki-search-form-sidebar,
    .royalis-wiki-sidebar-groups,
    .royalis-wiki-sidebar-footer { display:none; }
    .royalis-wiki-sidebar-nav.is-open .royalis-wiki-search-form-sidebar { display:block; margin-top:16px; }
    .royalis-wiki-sidebar-nav.is-open .royalis-wiki-sidebar-groups { display:grid; }
    .royalis-wiki-sidebar-nav.is-open .royalis-wiki-sidebar-footer { display:flex; }
    .royalis-wiki-article-grid { grid-template-columns:1fr; }
    .royalis-wiki-article-rail { position:static; }
    .royalis-wiki-article-rail .royalis-wiki-toc { display:none; }
    .royalis-wiki-mobile-toc { display:block; margin:22px 0 0; padding:15px; border-radius:15px; background:#f0f4ef; }
    .royalis-wiki-mobile-toc strong { display:block; margin-bottom:8px; color:var(--wiki-green-dark); }
    .royalis-wiki-mobile-toc ul { margin:0; padding-left:18px; }
    .royalis-wiki-mobile-toc li { margin:4px 0; }
    .royalis-wiki-mobile-toc a { color:#65716c; font-size:.8rem; }
}

@media (max-width: 680px) {
    .royalis-wiki-shell { width:min(100% - 16px, 680px); margin-bottom:36px; gap:12px; }
    .royalis-wiki-home-hero { min-height:0; grid-template-columns:1fr; padding:32px 23px; border-radius:25px; }
    .royalis-wiki-home-hero h1 { font-size:clamp(2.55rem,13vw,4rem); }
    .royalis-wiki-hero-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .royalis-wiki-hero-stats > div { padding:12px 9px; }
    .royalis-wiki-hero-stats strong { font-size:1.25rem; }
    .royalis-wiki-hero-stats span { font-size:.61rem; }
    .royalis-wiki-section-heading { display:block; }
    .royalis-wiki-section-heading > p,
    .royalis-wiki-section-heading > a { display:block; margin-top:9px; }
    .royalis-wiki-category-grid,
    .royalis-wiki-feature-grid,
    .royalis-wiki-class-grid,
    .royalis-wiki-article-index-grid { grid-template-columns:1fr; }
    .royalis-wiki-category-card { min-height:205px; }
    .royalis-wiki-category-hero,
    .royalis-wiki-search-hero { padding:30px 22px; border-radius:24px; }
    .royalis-wiki-article-card { padding:0 20px 28px; border-radius:23px; }
    .royalis-wiki-article-header { padding:28px 0 24px; }
    .royalis-wiki-article-header h1 { font-size:clamp(2.15rem,11vw,3.2rem); }
    .royalis-wiki-article-footer { display:grid; }
    .royalis-wiki-search-large { grid-template-columns:auto minmax(0,1fr); }
    .royalis-wiki-search-large button { grid-column:1/-1; width:100%; }
}

/* ========================================================================== 
   Royalis Wiki v2 — Magic Garden-inspired information architecture with
   Royalis Renewal's navy, ice-blue, cyan crystal, and gold visual language.
   ========================================================================== */
body.module-wiki {
    --wiki-ink: #18264a;
    --wiki-muted: #61708f;
    --wiki-line: rgba(31, 61, 118, 0.13);
    --wiki-paper: #ffffff;
    --wiki-page: #edf4ff;
    --wiki-green: #1c65a8;
    --wiki-green-dark: #102654;
    --wiki-lilac: #477fd0;
    --wiki-rose: #b66c86;
    --wiki-gold: #c99233;
    --wiki-shadow: 0 24px 70px rgba(20, 48, 102, 0.13);
    background:
        radial-gradient(circle at 88% 4%, rgba(37, 207, 244, 0.16), transparent 29rem),
        radial-gradient(circle at 5% 24%, rgba(42, 91, 180, 0.16), transparent 26rem),
        linear-gradient(180deg, #edf5ff 0%, #f8fbff 42%, #eef4ff 100%);
    color: var(--wiki-ink);
}

body.module-wiki::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: .34;
    background-image:
        linear-gradient(rgba(255,255,255,.32) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.32) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(180deg, #000, transparent 70%);
}

body.module-wiki .royalis-main { padding-top: 28px; }

/* Royal archive sidebar */
.royalis-wiki-sidebar-nav {
    border-color: rgba(255,255,255,.16);
    background:
        radial-gradient(circle at 80% 0%, rgba(20, 211, 244, .15), transparent 180px),
        linear-gradient(180deg, rgba(10, 27, 70, .98), rgba(12, 35, 83, .96));
    box-shadow: 0 22px 60px rgba(10, 31, 79, .24);
}

.royalis-wiki-sidebar-brand { margin-bottom: 20px; }
.royalis-wiki-sidebar-brand div span { color: rgba(211, 230, 255, .64); }
.royalis-wiki-sidebar-brand div strong { color: #fff6dd; text-shadow: 0 0 18px rgba(244, 195, 82, .16); }

.royalis-wiki-mark {
    overflow: hidden;
    border: 1px solid rgba(255, 220, 134, .62);
    border-radius: 50%;
    background: #0b1c4a;
    box-shadow: 0 0 0 4px rgba(255,255,255,.06), 0 10px 26px rgba(0,0,0,.28);
}
.royalis-wiki-mark img { width: 100%; height: 100%; object-fit: cover; }

.royalis-wiki-search-form-sidebar input[type="search"] {
    border-color: rgba(205, 224, 255, .13);
    background: rgba(255,255,255,.08);
    color: #fff;
}
.royalis-wiki-search-form-sidebar input[type="search"]::placeholder { color: rgba(218, 232, 255, .54); }
.royalis-wiki-search-form-sidebar input[type="search"]:focus {
    border-color: rgba(54, 211, 246, .55);
    background: rgba(255,255,255,.13);
}
.royalis-wiki-search-icon { color: #59ddf7; }
.royalis-wiki-nav-label { color: rgba(220, 232, 255, .48); }
.royalis-wiki-home-link,
.royalis-wiki-category-nav > li > a,
.royalis-wiki-feature-nav a { color: rgba(238, 245, 255, .84); }
.royalis-wiki-home-link:hover,
.royalis-wiki-home-link.is-current,
.royalis-wiki-category-nav > li > a:hover,
.royalis-wiki-category-nav > li.is-current > a {
    color: #fff;
    background: linear-gradient(90deg, rgba(42, 123, 207, .36), rgba(61, 216, 242, .10));
}
.royalis-wiki-feature-nav a:hover,
.royalis-wiki-feature-nav a.is-current { color: #fff2c9; background: rgba(213, 164, 67, .13); }
.royalis-wiki-category-nav small { color: rgba(222, 235, 255, .47); }
.royalis-wiki-nav-glyph { border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.09); color: #75e9ff; }
.royalis-wiki-category-children { border-left-color: rgba(117, 233, 255, .22); }
.royalis-wiki-category-children a { color: rgba(224, 237, 255, .62); }
.royalis-wiki-category-children a:hover,
.royalis-wiki-category-children a.is-current { color: #fff; background: rgba(255,255,255,.08); }
.royalis-wiki-sidebar-footer { border-top-color: rgba(255,255,255,.11); color: rgba(219, 233, 255, .47); }
.royalis-wiki-sidebar-footer a { color: #72e7ff; }
.royalis-wiki-sidebar-toggle { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.09); color: #fff; }

/* Home hero */
.royalis-wiki-home-hero {
    min-height: 500px;
    grid-template-columns: minmax(0, 1fr) 230px;
    border-color: rgba(255, 226, 151, .31);
    background:
        radial-gradient(circle at 78% 24%, rgba(42, 211, 245, .23), transparent 250px),
        linear-gradient(112deg, rgba(7, 20, 57, .99) 0%, rgba(12, 39, 91, .97) 52%, rgba(13, 65, 119, .91) 100%);
    box-shadow: 0 28px 80px rgba(10, 28, 74, .30), inset 0 0 0 1px rgba(255,255,255,.05);
}
.royalis-wiki-home-hero::before {
    border-color: rgba(255, 209, 104, .22);
    box-shadow: 0 0 0 48px rgba(255, 211, 112, .035), 0 0 0 96px rgba(50, 212, 246, .025);
}
.royalis-wiki-home-hero::after { background: rgba(44, 214, 246, .14); }
.royalis-wiki-home-copy { max-width: 690px; }
.royalis-wiki-home-hero .royalis-wiki-eyebrow { color: #6ee8ff; }
.royalis-wiki-home-hero h1 { color: #fff; text-shadow: 0 8px 32px rgba(0,0,0,.24); }
.royalis-wiki-home-hero h1 em { color: #f3cf75; }
.royalis-wiki-home-copy > p:not(.royalis-wiki-eyebrow) { color: rgba(235, 245, 255, .80); }
.royalis-wiki-primary-action {
    color: #17305c;
    background: linear-gradient(135deg, #fff3c7, #dba54a);
    box-shadow: 0 14px 30px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.65);
}
.royalis-wiki-secondary-action { border-color: rgba(100, 226, 251, .32); background: rgba(57, 178, 219, .12); }
.royalis-wiki-hero-stats > div { border-color: rgba(255,255,255,.15); background: rgba(6, 23, 62, .46); }
.royalis-wiki-hero-stats strong { color: #ffdf91; }
.royalis-wiki-hero-stats span { color: rgba(231, 243, 255, .65); }
.royalis-wiki-hero-character {
    position: absolute;
    z-index: 1;
    right: -54px;
    bottom: -108px;
    width: min(560px, 49%);
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 50%;
    opacity: .96;
    filter: drop-shadow(0 20px 42px rgba(0,0,0,.32));
    pointer-events: none;
}
.royalis-wiki-home-hero::after { z-index: 1; }
.royalis-wiki-home-copy,
.royalis-wiki-hero-stats { z-index: 3; }
.royalis-wiki-hero-art { z-index: 2; }
.royalis-wiki-hero-art span { background: rgba(87, 232, 255, .62); }

/* Section typography */
.royalis-wiki-eyebrow,
.royalis-wiki-section-heading span,
.royalis-wiki-rail-label { color: #1f77b8; }
.royalis-wiki-section-heading h2,
.royalis-wiki-article-header h1,
.royalis-wiki-search-hero h1 { color: #102654; }
.royalis-wiki-section-heading > a,
.royalis-wiki-sidebar-footer a,
.royalis-wiki-arrow { color: #166da9; }

/* Royalis card palette */
.tone-mint { --card-soft:#e7f5ff; --card-wash:#eef9ff; --card-deep:#16759c; }
.tone-gold { --card-soft:#fff2d2; --card-wash:#fff8e8; --card-deep:#a56d14; }
.tone-rose { --card-soft:#f8e8f0; --card-wash:#fdf2f7; --card-deep:#a75c7c; }
.tone-violet { --card-soft:#edeafe; --card-wash:#f5f2ff; --card-deep:#6456ad; }
.tone-blue { --card-soft:#e4efff; --card-wash:#edf6ff; --card-deep:#225fa9; }
.tone-amber { --card-soft:#fff0d8; --card-wash:#fff7e9; --card-deep:#ad6e1f; }
.tone-teal { --card-soft:#e0f7fb; --card-wash:#ecfbfd; --card-deep:#147c91; }
.tone-pink { --card-soft:#f9e6f2; --card-wash:#fdf1f8; --card-deep:#a85b88; }
.tone-red { --card-soft:#f8e5e5; --card-wash:#fdf0f0; --card-deep:#aa5057; }

.royalis-wiki-category-card,
.royalis-wiki-feature-card,
.royalis-wiki-index-card,
.royalis-wiki-rail-card {
    border-color: rgba(33, 75, 145, .11);
    box-shadow: 0 14px 40px rgba(26, 57, 111, .08);
}
.royalis-wiki-category-card:hover { box-shadow: 0 22px 54px rgba(26, 57, 111, .15); }
.royalis-wiki-category-card strong,
.royalis-wiki-feature-card h3 a { color: var(--card-deep, #174f91); }

/* Homepage class cards */
.royalis-wiki-class-card {
    min-height: 220px;
    border: 1px solid rgba(255, 213, 113, .24);
    background: #0b1c4a;
    box-shadow: 0 18px 42px rgba(16, 45, 99, .17);
}
.royalis-wiki-class-card::after { background: linear-gradient(180deg, rgba(7,19,52,.02) 30%, rgba(7,20,54,.96)); }
.royalis-wiki-class-card span { display: grid; gap: 4px; color: #fff; }
.royalis-wiki-class-card span small { color: #6ee5ff; font: 700 .66rem/1.2 system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }

/* Category landing */
.royalis-wiki-category-hero {
    min-height: 350px;
    padding: 48px;
    border-color: rgba(33, 75, 145, .10);
    background:
        radial-gradient(circle at 90% 5%, rgba(49, 204, 239, .17), transparent 250px),
        linear-gradient(135deg, var(--card-soft, #e7f2ff), #fff);
}
.royalis-wiki-category-hero.is-classes {
    min-height: 430px;
    overflow: hidden;
    color: #fff;
    border-color: rgba(255, 218, 123, .27);
    background:
        radial-gradient(circle at 78% 36%, rgba(54, 215, 244, .25), transparent 260px),
        linear-gradient(116deg, #08183e 0%, #0c2e6b 55%, #0c5e91 100%);
}
.royalis-wiki-category-hero.is-classes::after { display: none; }
.royalis-wiki-category-hero.is-classes > *:not(.royalis-wiki-category-hero-character) { max-width: 650px; }
.royalis-wiki-category-hero.is-classes h1 { color: #fff; text-shadow: 0 7px 30px rgba(0,0,0,.24); }
.royalis-wiki-category-hero.is-classes p:not(.royalis-wiki-eyebrow) { color: rgba(234, 245, 255, .78); }
.royalis-wiki-category-hero.is-classes > strong { color: #ffdc84; }
.royalis-wiki-category-hero.is-classes .royalis-wiki-eyebrow,
.royalis-wiki-category-hero.is-classes .royalis-wiki-back { color: #68e6ff; }
.royalis-wiki-category-hero.is-classes .royalis-wiki-hero-glyph { color: #c4892f; background: linear-gradient(135deg, #fff9e7, #f1ca70); }
.royalis-wiki-category-hero-character {
    position: absolute !important;
    z-index: 0 !important;
    right: -80px;
    bottom: -150px;
    width: 560px;
    max-width: 52%;
    border-radius: 50%;
    object-fit: cover;
    filter: drop-shadow(0 25px 48px rgba(0,0,0,.30));
    opacity: .95;
}

/* Full class library */
.royalis-wiki-class-library { margin-top: 38px; }
.royalis-wiki-class-group { margin-top: 30px; }
.royalis-wiki-class-group-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
    padding-bottom: 11px;
    border-bottom: 1px solid rgba(35, 75, 139, .13);
}
.royalis-wiki-class-group-heading h3 { margin: 0; color: #15305f; font: 700 1.35rem/1.2 Georgia, serif; }
.royalis-wiki-class-group-heading span { color: #7c8aa4; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.royalis-wiki-class-library-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.royalis-wiki-class-entry {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    display: block;
    border: 1px solid rgba(255, 218, 130, .24);
    border-radius: 24px;
    background: #0a1b48;
    box-shadow: 0 18px 44px rgba(19, 49, 104, .17);
    isolation: isolate;
}
.royalis-wiki-class-media > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .36s ease, filter .36s ease;
}
.royalis-wiki-class-entry-shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(7, 17, 47, .02) 22%, rgba(7, 20, 54, .42) 52%, rgba(6, 17, 47, .97) 100%),
        linear-gradient(90deg, rgba(8, 23, 59, .32), transparent 65%);
}
.royalis-wiki-class-entry-copy { position: absolute; z-index: 2; inset: auto 20px 18px; }
.royalis-wiki-class-role {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 6px 9px;
    border: 1px solid rgba(98, 228, 252, .28);
    border-radius: 999px;
    color: #7beaff;
    background: rgba(13, 57, 101, .58);
    font-size: .62rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: none;
}
.royalis-wiki-class-entry h4 { margin: 0 0 8px; color: #fff; font: 700 1.48rem/1.06 Georgia, serif; }
.royalis-wiki-class-entry p { margin: 0; color: rgba(230, 241, 255, .74); font-size: .76rem; line-height: 1.47; }
.royalis-wiki-class-entry small { display: block; margin-top: 12px; color: #f2ce75; font-size: .69rem; font-weight: 800; }
.royalis-wiki-class-entry.is-published:hover { text-decoration: none; transform: translateY(-4px); box-shadow: 0 26px 58px rgba(19, 49, 104, .25); }
.royalis-wiki-class-entry.is-published:hover .royalis-wiki-class-media > img { transform: scale(1.045); }
.royalis-wiki-class-entry.is-planned { cursor: default; }
.royalis-wiki-class-entry.is-planned::after {
    content: "";
    position: absolute;
    z-index: 3;
    top: 15px;
    right: 15px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #69e6ff;
    box-shadow: 0 0 0 5px rgba(105, 230, 255, .12), 0 0 18px rgba(105, 230, 255, .72);
}
.royalis-wiki-published-class-pages { margin-top: 45px; }

/* Article styling */
.royalis-wiki-article-card { border-color: rgba(33, 75, 145, .10); }
.royalis-wiki-article-category { background: var(--card-soft, #e8f1ff); color: var(--card-deep, #1e64a6); }
.royalis-wiki-article-body h2 { color: #102654; }
.royalis-wiki-article-body h3 { color: #205d98; }
.royalis-wiki-article-body a { color: #176ba8; text-decoration-color: rgba(23, 107, 168, .28); }
.royalis-wiki-article-body blockquote { border-left-color: #3a8fca; background: #eef7ff; }
.royalis-wiki-article-body th { background: #e9f3ff; color: #1a4f83; }
.royalis-wiki-toc a:hover,
.royalis-wiki-toc a.is-active { border-left-color: #248ac4; color: #123364; background: #edf6ff; }

@media (max-width: 1180px) {
    .royalis-wiki-class-library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .royalis-wiki-hero-character { width: min(500px, 48%); }
}

@media (max-width: 940px) {
    .royalis-wiki-sidebar-nav { background: linear-gradient(135deg, #0a1e50, #0d477d); }
    .royalis-wiki-home-hero { grid-template-columns: 1fr; }
    .royalis-wiki-hero-character { right: -100px; bottom: -100px; opacity: .16; width: 560px; max-width: 72%; }
    .royalis-wiki-hero-stats { max-width: 560px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .royalis-wiki-category-hero-character { right: -120px; opacity: .52; max-width: 64%; }
}

@media (max-width: 680px) {
    .royalis-wiki-home-hero { min-height: 560px; padding-bottom: 180px; }
    .royalis-wiki-hero-character { right: 50%; bottom: -190px; width: 430px; max-width: none; transform: translateX(50%); opacity: .64; }
    .royalis-wiki-hero-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .royalis-wiki-category-hero.is-classes { min-height: 520px; padding-bottom: 185px; }
    .royalis-wiki-category-hero-character { right: 50%; bottom: -175px; width: 430px; max-width: none; transform: translateX(50%); opacity: .60; }
    .royalis-wiki-class-library-grid { grid-template-columns: 1fr; }
    .royalis-wiki-class-entry { min-height: 360px; }
}

/* ========================================================================== 
   Royalis Celestial Theme v3
   Global navy, gold, ice-blue and crystal styling shared by the website/wiki.
   ========================================================================== */
:root {
    --royalis-navy: #08183f;
    --royalis-navy-2: #0d2b63;
    --royalis-blue: #1e6fb1;
    --royalis-cyan: #47dff7;
    --royalis-cyan-soft: #c8f6ff;
    --royalis-sky: #e8f5ff;
    --royalis-ivory: #fff9ea;
    --royalis-white: #ffffff;
    --royalis-gold: #c88a28;
    --royalis-gold-light: #ffdc82;
    --royalis-text: #17294d;
    --royalis-muted: #657593;
    --royalis-border: rgba(25, 69, 132, .14);
    --royalis-shadow: 0 24px 64px rgba(12, 39, 92, .14);
    --royalis-shell: min(1280px, calc(100vw - 36px));
}

body.royalis-body {
    min-width: 320px;
    color: var(--royalis-text);
    background:
        radial-gradient(circle at 88% 0%, rgba(42, 217, 246, .18), transparent 30rem),
        radial-gradient(circle at 2% 25%, rgba(51, 91, 189, .15), transparent 28rem),
        linear-gradient(180deg, #edf6ff 0%, #f8fbff 40%, #eef4ff 100%);
}

body.royalis-body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    opacity: .48;
    pointer-events: none;
    background-image: url('../img/royalis-celestial-pattern.svg');
    background-size: 420px 420px;
    background-position: 100% -90px;
    mask-image: linear-gradient(180deg, #000 0%, transparent 72%);
}

.royalis-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Alpha-masked light sweep: the shine travels through the logo artwork itself,
   rather than drawing a rectangular glare over the surrounding space. */
.royalis-logo-shine {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    overflow: visible;
    max-width: 100%;
}

.royalis-logo-shine::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 12% 5%;
    pointer-events: none;
    border-radius: 50%;
    opacity: .18;
    background: radial-gradient(ellipse, rgba(255, 215, 109, .38), rgba(72, 221, 255, .10) 46%, transparent 72%);
    filter: blur(16px);
    animation: royalis-logo-aura 6.2s ease-in-out infinite;
}

.royalis-logo-shine::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(
            108deg,
            transparent 0%,
            transparent 39%,
            rgba(255, 214, 103, .35) 44%,
            rgba(255, 255, 255, .98) 49%,
            rgba(101, 231, 255, .82) 53%,
            rgba(255, 223, 133, .45) 58%,
            transparent 64%,
            transparent 100%
        );
    background-size: 320% 100%;
    background-position: 130% 0;
    mix-blend-mode: screen;
    -webkit-mask-image: url('../img/logo-royalis.png');
    mask-image: url('../img/logo-royalis.png');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    animation: royalis-logo-shine 5.8s ease-in-out 1s infinite;
}

.royalis-logo-shine img {
    position: relative;
    z-index: 1;
    display: block;
    filter: drop-shadow(0 0 5px rgba(255, 214, 103, .16));
}

@keyframes royalis-logo-shine {
    0%, 55% {
        opacity: 0;
        background-position: 130% 0;
    }
    60% {
        opacity: .96;
    }
    78% {
        opacity: .9;
        background-position: -120% 0;
    }
    84%, 100% {
        opacity: 0;
        background-position: -120% 0;
    }
}

@keyframes royalis-logo-aura {
    0%, 100% { opacity: .13; transform: scale(.98); }
    50% { opacity: .24; transform: scale(1.025); }
}

@media (prefers-reduced-motion: reduce) {
    .royalis-logo-shine::before,
    .royalis-logo-shine::after {
        animation: none !important;
    }
    .royalis-logo-shine::after {
        display: none;
    }
}

/* Header */
.royalis-header {
    position: sticky;
    top: 0;
    z-index: 80;
    padding: 8px 18px;
    border-bottom: 1px solid rgba(255, 211, 113, .20);
    background:
        radial-gradient(circle at 12% -80%, rgba(60, 219, 248, .18), transparent 280px),
        linear-gradient(105deg, rgba(5, 17, 49, .98), rgba(9, 39, 86, .97));
    box-shadow: 0 14px 36px rgba(5, 20, 58, .20);
    backdrop-filter: blur(18px);
}

.royalis-header.is-scrolled {
    background: linear-gradient(105deg, rgba(5, 17, 49, .96), rgba(9, 39, 86, .94));
    box-shadow: 0 15px 40px rgba(5, 20, 58, .32);
    backdrop-filter: blur(22px);
}

.royalis-header-bar {
    min-height: 74px;
    grid-template-columns: minmax(190px, 258px) minmax(0, 1fr);
    gap: 22px;
}

.royalis-brand {
    position: relative;
    display: flex;
    max-width: 258px;
    min-width: 190px;
    justify-content: center;
    color: #fff;
}

.royalis-header-logo { width: min(225px, 100%); }
.royalis-brand img { width: 100%; aspect-ratio: auto; filter: drop-shadow(0 9px 18px rgba(0, 0, 0, .30)); }
.royalis-brand-episode {
    position: absolute;
    right: 0;
    bottom: 2px;
    padding: 3px 8px;
    border: 1px solid rgba(92, 228, 251, .26);
    border-radius: 999px;
    color: #8eeeff;
    background: rgba(4, 20, 55, .74);
    font-size: .57rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
}

.royalis-primary-nav,
.royalis-header-actions { gap: 15px; }

.royalis-primary-nav a,
.royalis-nav-trigger { color: rgba(239, 246, 255, .86); }

.royalis-nav-link,
.royalis-nav-trigger {
    position: relative;
    min-height: 48px;
    padding: 0 2px;
    font-size: .92rem;
    font-weight: 720;
}

.royalis-nav-link::before,
.royalis-nav-trigger::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 7px;
    height: 2px;
    border-radius: 2px;
    opacity: 0;
    transform: scaleX(.35);
    background: linear-gradient(90deg, transparent, #55e5ff, #ffd77a, transparent);
    transition: opacity .2s ease, transform .2s ease;
}

.royalis-nav-link:hover,
.royalis-nav-trigger:hover { color: #fff; text-decoration: none; }
.royalis-nav-link:hover::before,
.royalis-nav-trigger:hover::before,
.royalis-nav-group.is-open .royalis-nav-trigger::before { opacity: 1; transform: scaleX(1); }
.royalis-nav-trigger::after { border-color: #72eaff; }

.royalis-nav-dropdown,
.royalis-account-menu-panel {
    border: 1px solid rgba(255, 218, 125, .16);
    background:
        radial-gradient(circle at 90% 0%, rgba(51, 211, 243, .13), transparent 160px),
        linear-gradient(145deg, rgba(7, 24, 61, .98), rgba(11, 45, 92, .98));
    box-shadow: 0 24px 60px rgba(2, 13, 39, .38);
    backdrop-filter: blur(16px);
}

.royalis-nav-dropdown-link,
.royalis-account-menu-panel a { color: rgba(235, 244, 255, .84); }
.royalis-nav-dropdown-link:hover,
.royalis-account-menu-panel a:hover { color: #fff; background: rgba(76, 218, 245, .11); }

.royalis-account-menu summary {
    color: #fff;
    border-color: rgba(107, 229, 251, .22);
    background: rgba(255,255,255,.07);
}

.royalis-button {
    min-height: 47px;
    border-radius: 15px;
    letter-spacing: .01em;
}

.royalis-button-gold {
    color: #1a315c;
    border-color: rgba(255, 245, 205, .62);
    background: linear-gradient(135deg, #fff3c5 0%, #f1c861 46%, #c98725 100%);
    box-shadow: 0 13px 28px rgba(3, 17, 49, .25), inset 0 1px 0 rgba(255,255,255,.82);
}

.royalis-button-crystal {
    color: #07345b;
    border: 1px solid rgba(205, 252, 255, .58);
    background: linear-gradient(135deg, #d7fbff, #53d9f2 58%, #2b91c7);
    box-shadow: 0 13px 28px rgba(8, 90, 139, .22), inset 0 1px 0 rgba(255,255,255,.72);
}

.royalis-button-ghost,
.royalis-button-clear,
.royalis-button-muted {
    color: #eef8ff;
    border: 1px solid rgba(114, 231, 255, .25);
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(10px);
}

.royalis-button-ghost:hover,
.royalis-button-clear:hover,
.royalis-button-muted:hover { color: #fff; border-color: rgba(255, 218, 126, .42); background: rgba(255,255,255,.12); }

/* Page chrome */
.royalis-main { padding: 26px 0 0; }
.royalis-main-home { padding-top: 0; }
.royalis-page-shell { width: var(--royalis-shell); }
.royalis-page-shell-home { width: 100%; }

.royalis-session-strip-inner,
.royalis-submenu,
.royalis-pagemenu,
.message,
.error,
.notice {
    border-color: rgba(35, 82, 151, .12);
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 14px 34px rgba(16, 48, 103, .09);
    backdrop-filter: blur(14px);
}

.royalis-submenu-link.is-current {
    color: #fff;
    background: linear-gradient(135deg, #163c7d, #1d7dab);
    box-shadow: 0 8px 20px rgba(21, 81, 141, .22);
}

/* Homepage hero */
.royalis-hero-celestial {
    position: relative;
    min-height: clamp(680px, 80vh, 860px);
    overflow: hidden;
    display: grid;
    align-items: center;
    isolation: isolate;
    color: #fff;
    border-bottom: 1px solid rgba(255, 217, 125, .22);
    background:
        linear-gradient(90deg, rgba(4, 14, 44, .98) 0%, rgba(6, 25, 64, .94) 47%, rgba(6, 41, 85, .74) 100%),
        url('../img/hero-royalis.jpg') center/cover no-repeat;
}

.royalis-hero-celestial::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .5;
    background:
        linear-gradient(rgba(92, 216, 244, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(92, 216, 244, .035) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(90deg, #000, transparent 82%);
}

.royalis-hero-glow {
    position: absolute;
    z-index: -1;
    left: -170px;
    bottom: -350px;
    width: 840px;
    height: 840px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(28, 112, 209, .32), transparent 64%);
    filter: blur(12px);
}

.royalis-hero-inner {
    width: var(--royalis-shell);
    min-height: inherit;
    grid-template-columns: minmax(0, 1.08fr) minmax(400px, .92fr);
    gap: 36px;
    padding: 78px 0 68px;
}

.royalis-hero-copy { position: relative; z-index: 3; max-width: 720px; }
.royalis-kicker {
    color: #72e9ff;
    letter-spacing: .16em;
    text-shadow: 0 0 20px rgba(54, 221, 249, .25);
}

.royalis-home-logo { width: min(650px, 95%); margin: 10px 0 8px; filter: drop-shadow(0 24px 40px rgba(0,0,0,.30)); }
.royalis-hero-lead { max-width: 680px; margin: 0; color: rgba(235, 244, 255, .82); font-size: clamp(1rem, 1.6vw, 1.15rem); line-height: 1.72; }

.royalis-feature-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 22px;
}

.royalis-feature-pills span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(95, 228, 250, .20);
    border-radius: 999px;
    color: rgba(234, 246, 255, .88);
    background: rgba(255,255,255,.055);
    font-size: .74rem;
    font-weight: 760;
    backdrop-filter: blur(10px);
}

.royalis-feature-pills span::before {
    content: "✦";
    margin-right: 7px;
    color: #ffd778;
    font-size: .66rem;
}

.royalis-opening-status { margin-top: 24px; }
.royalis-opening-badge {
    color: #ffe49b;
    border-color: rgba(255, 219, 126, .28);
    background: rgba(11, 31, 73, .58);
}
.royalis-countdown > div {
    border-color: rgba(101, 229, 251, .20);
    background: rgba(9, 29, 67, .58);
    backdrop-filter: blur(12px);
}
.royalis-countdown strong { color: #fff0ba; }
.royalis-hero-actions { margin-top: 28px; }

.royalis-hero-visual {
    position: relative;
    z-index: 2;
    min-height: 590px;
    display: grid;
    place-items: center;
}

.royalis-hero-visual img {
    position: relative;
    z-index: 2;
    width: min(670px, 112%);
    max-width: none;
    filter: drop-shadow(0 32px 50px rgba(0,0,0,.34));
    animation: royalis-float 7s ease-in-out infinite;
}

.royalis-hero-orbit {
    position: absolute;
    z-index: 1;
    width: min(640px, 98%);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 217, 122, .34);
    border-radius: 50%;
    box-shadow:
        0 0 0 34px rgba(70, 220, 247, .025),
        0 0 0 72px rgba(255, 216, 120, .018),
        0 0 80px rgba(43, 212, 244, .18);
}

.royalis-hero-orbit::before,
.royalis-hero-orbit::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
    background: #60e9ff;
    box-shadow: 0 0 20px rgba(71, 226, 249, .8);
}
.royalis-hero-orbit::before { top: 15%; right: 5%; }
.royalis-hero-orbit::after { bottom: 12%; left: 6%; background: #ffd87b; box-shadow: 0 0 20px rgba(255, 211, 112, .75); }

@keyframes royalis-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* Homepage sections and cards */
.royalis-status-strip,
.royalis-section,
.royalis-community-cta { width: var(--royalis-shell); }

.royalis-status-strip { position: relative; z-index: 3; margin-top: -44px; }
.royalis-status-strip-inner,
.royalis-community-cta-inner {
    border: 1px solid rgba(255, 224, 151, .18);
    background:
        radial-gradient(circle at 92% 0%, rgba(54, 212, 245, .16), transparent 220px),
        linear-gradient(135deg, rgba(7, 24, 63, .98), rgba(11, 48, 96, .96));
    color: #fff;
    box-shadow: 0 25px 62px rgba(8, 31, 76, .24);
}

.royalis-status-strip h2,
.royalis-community-cta h2 { color: #fff; }
.royalis-status-card {
    border-color: rgba(102, 228, 251, .16);
    background: rgba(255,255,255,.07);
    color: #fff;
    backdrop-filter: blur(10px);
}
.royalis-status-card span { color: rgba(213, 233, 255, .62); }
.royalis-status-card strong { color: #ffe196; }

.royalis-section { padding-top: 58px; }
.royalis-section-heading h2,
.royalis-content-header h1 { color: #102654; }
.royalis-section-label { color: #1b77b0; }

.royalis-status-card,
.royalis-info-card,
.royalis-editorial-card,
.royalis-dungeon-card,
.royalis-news-card,
.royalis-wiki-card,
.royalis-panel,
.royalis-ranking-row,
.royalis-wiki-list-item {
    border-color: rgba(27, 73, 141, .11);
    background: rgba(255,255,255,.91);
    box-shadow: 0 16px 42px rgba(20, 55, 112, .09);
    backdrop-filter: blur(10px);
}

.royalis-info-card,
.royalis-dungeon-card,
.royalis-news-card,
.royalis-wiki-card,
.royalis-ranking-row {
    position: relative;
    overflow: hidden;
}

.royalis-info-card::before,
.royalis-dungeon-card::before,
.royalis-news-card::before,
.royalis-wiki-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: linear-gradient(180deg, #55dff6, #d89931);
}

.royalis-dungeon-card:hover,
.royalis-news-card:hover,
.royalis-wiki-card:hover,
.royalis-ranking-row:hover { transform: translateY(-3px); box-shadow: 0 24px 54px rgba(20, 55, 112, .14); }

.royalis-tag {
    color: #155a85;
    border: 1px solid rgba(54, 195, 230, .22);
    background: #e8f8ff;
}

.royalis-community-cta { padding-bottom: 68px; }

/* Inner pages: keep FluxCP views readable and on-theme. */
.royalis-main-inner .royalis-page-shell {
    min-height: 460px;
    margin-bottom: 64px;
    padding: clamp(22px, 4vw, 44px);
    border: 1px solid rgba(255,255,255,.88);
    border-radius: 30px;
    background: rgba(255,255,255,.87);
    box-shadow: var(--royalis-shadow);
    backdrop-filter: blur(16px);
}

.royalis-main-inner .royalis-content-header {
    position: relative;
    overflow: hidden;
    padding: 28px 30px;
    border: 1px solid rgba(255, 222, 139, .18);
    border-radius: 24px;
    color: #fff;
    background:
        radial-gradient(circle at 90% -25%, rgba(56, 219, 246, .25), transparent 260px),
        linear-gradient(125deg, #071a47, #0d3f80);
}

.royalis-main-inner .royalis-content-header h1,
.royalis-main-inner .royalis-content-header p { color: #fff; }
.royalis-main-inner .royalis-content-header p { color: rgba(229, 241, 255, .74); }

.royalis-panel h2,
.royalis-panel h3,
.royalis-default-content h2,
.royalis-default-content h3,
.royalis-prose h2,
.royalis-prose h3 { color: #123463; }

.royalis-default-content table,
.royalis-prose table,
table.horizontal-table,
table.vertical-table {
    overflow: hidden;
    border: 1px solid rgba(25, 75, 145, .12);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(19, 54, 108, .07);
}

.royalis-default-content th,
.royalis-prose th,
table.horizontal-table th,
table.vertical-table th {
    color: #143c70;
    background: linear-gradient(180deg, #edf7ff, #e5f1ff);
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
select,
textarea {
    border: 1px solid rgba(28, 75, 143, .17);
    border-radius: 12px;
    background: rgba(247, 251, 255, .96);
    color: #19325b;
    box-shadow: inset 0 1px 2px rgba(15, 45, 95, .04);
}

input:focus,
select:focus,
textarea:focus {
    border-color: rgba(31, 158, 204, .56);
    box-shadow: 0 0 0 4px rgba(53, 204, 235, .12);
}

input[type="submit"],
button[type="submit"] {
    border: 1px solid rgba(255, 241, 193, .7);
    border-radius: 12px;
    color: #15315b;
    background: linear-gradient(135deg, #fff0b9, #e6b64f);
    box-shadow: 0 10px 22px rgba(31, 82, 142, .14);
}

/* Footer */
.royalis-site-footer {
    padding-top: 58px;
    color: rgba(225, 237, 255, .74);
    border-top: 1px solid rgba(255, 218, 125, .16);
    background:
        radial-gradient(circle at 12% -20%, rgba(51, 219, 247, .15), transparent 330px),
        linear-gradient(150deg, #061438, #0a2a60 68%, #0b4678);
}

.royalis-footer-inner { grid-template-columns: minmax(260px, 1.7fr) repeat(3, minmax(130px, .7fr)); }
.royalis-footer-brand { max-width: 410px; }
.royalis-footer-logo { width: min(330px, 100%); margin: -24px 0 -16px; }
.royalis-site-footer h3 { color: #ffe29a; }
.royalis-site-footer a { color: rgba(226, 241, 255, .77); }
.royalis-site-footer a:hover { color: #fff; }
.royalis-footer-meta { border-top-color: rgba(255,255,255,.09); }

/* Wiki v3: synchronized with the global theme and cleaner hero layout. */
body.module-wiki .royalis-header { margin-bottom: 0; }
body.module-wiki .royalis-main { padding-top: 26px; }
body.module-wiki .royalis-page-shell { background: transparent; box-shadow: none; border: 0; padding: 0; }

.royalis-wiki-home-hero {
    min-height: 520px;
    grid-template-columns: minmax(0, 1fr);
    padding: clamp(38px, 5.6vw, 72px);
}

.royalis-wiki-home-copy { max-width: 660px; }
.royalis-wiki-hero-logo { width: min(500px, 83%); margin: 6px 0 -18px; filter: drop-shadow(0 22px 36px rgba(0,0,0,.28)); }
.royalis-wiki-home-hero h2 {
    position: relative;
    z-index: 3;
    max-width: 620px;
    margin: 10px 0 14px;
    color: #fff;
    font: 700 clamp(2rem, 4vw, 3.5rem)/1.02 Georgia, "Times New Roman", serif;
    text-shadow: 0 7px 28px rgba(0,0,0,.26);
}
.royalis-wiki-home-copy > p:not(.royalis-wiki-eyebrow) { max-width: 620px; }
.royalis-wiki-hero-character { right: -78px; bottom: -125px; width: min(610px, 53%); opacity: .94; }
.royalis-wiki-hero-stats { display: none !important; }

.royalis-wiki-sidebar-nav {
    border-color: rgba(255, 219, 127, .14);
    background:
        radial-gradient(circle at 88% 0%, rgba(49, 220, 248, .16), transparent 180px),
        linear-gradient(180deg, rgba(5, 19, 54, .99), rgba(9, 42, 88, .97));
}

.royalis-wiki-category-card,
.royalis-wiki-feature-card,
.royalis-wiki-index-card,
.royalis-wiki-article-card,
.royalis-wiki-rail-card {
    border-color: rgba(27, 75, 146, .11);
    box-shadow: 0 17px 46px rgba(19, 53, 109, .09);
}

/* Skill icons auto-matched from themes/royalis/img/item filenames. */
.royalis-skill-title {
    display: flex !important;
    align-items: center;
    gap: 11px;
}

.royalis-skill-icon {
    flex: 0 0 auto;
    width: 42px;
    height: 42px;
    padding: 3px;
    border: 1px solid rgba(255, 210, 111, .40);
    border-radius: 11px;
    background:
        radial-gradient(circle at 35% 20%, rgba(82, 224, 250, .22), transparent 62%),
        #091e4c;
    box-shadow: 0 7px 18px rgba(16, 52, 104, .18), inset 0 0 0 1px rgba(255,255,255,.06);
    image-rendering: pixelated;
}

.royalis-wiki-article-body td.royalis-skill-title,
.royalis-wiki-article-body th.royalis-skill-title {
    min-width: 190px;
}

.royalis-wiki-article-body td .royalis-skill-icon,
.royalis-wiki-article-body th .royalis-skill-icon,
.royalis-wiki-article-body li .royalis-skill-icon,
.royalis-wiki-article-body p .royalis-skill-icon {
    width: 34px;
    height: 34px;
    border-radius: 9px;
}

@media (max-width: 1180px) {
    .royalis-header-bar { grid-template-columns: 210px minmax(0, 1fr); }
    .royalis-primary-nav, .royalis-header-actions { gap: 10px; }
    .royalis-nav-link, .royalis-nav-trigger { font-size: .83rem; }
    .royalis-hero-inner { grid-template-columns: minmax(0, 1fr) minmax(350px, .78fr); }
    .royalis-hero-visual img { width: 590px; }
}

@media (max-width: 1024px) {
    .royalis-header { padding: 8px 14px; }
    .royalis-header-bar { grid-template-columns: minmax(180px, 230px) auto; }
    .royalis-brand { justify-content: flex-start; }
    .royalis-nav-toggle { border-color: rgba(110, 232, 253, .24); background: rgba(255,255,255,.08); }
    .royalis-nav-toggle span { background: #fff; }
    .royalis-nav-toggle-text { color: #fff; }
    .royalis-nav-panel {
        border: 1px solid rgba(255, 218, 126, .16);
        background: linear-gradient(145deg, rgba(5, 19, 54, .99), rgba(10, 48, 96, .98));
        box-shadow: 0 28px 68px rgba(4, 16, 48, .40);
    }
    .royalis-primary-nav a, .royalis-nav-trigger { color: rgba(238, 246, 255, .88); }
    .royalis-hero-inner { grid-template-columns: 1fr; padding-top: 54px; }
    .royalis-hero-copy { max-width: 750px; }
    .royalis-hero-visual { min-height: 440px; margin-top: -50px; }
    .royalis-hero-visual img { width: min(620px, 88vw); }
    .royalis-footer-inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .royalis-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 940px) {
    .royalis-wiki-home-hero { min-height: 610px; padding-bottom: 210px; }
    .royalis-wiki-hero-character { right: 50%; bottom: -220px; width: 460px; max-width: none; transform: translateX(50%); opacity: .62; }
    .royalis-wiki-hero-logo { width: min(460px, 92%); }
}

@media (max-width: 768px) {
    :root { --royalis-shell: min(100% - 24px, 1280px); }
    .royalis-header-bar { min-height: 64px; }
    .royalis-header-logo { width: 185px; }
    .royalis-brand-episode { display: none; }
    .royalis-hero-celestial { min-height: 0; }
    .royalis-hero-inner { padding: 46px 0 36px; }
    .royalis-home-logo { width: min(570px, 100%); }
    .royalis-hero-lead { font-size: .98rem; }
    .royalis-feature-pills { gap: 7px; }
    .royalis-feature-pills span { font-size: .68rem; }
    .royalis-countdown { grid-template-columns: repeat(4, minmax(62px, 1fr)); }
    .royalis-hero-visual { min-height: 360px; margin-top: -38px; }
    .royalis-status-strip { margin-top: -18px; }
    .royalis-status-strip-inner { padding: 24px; }
    .royalis-main-inner .royalis-page-shell { padding: 20px; border-radius: 22px; }
    .royalis-footer-inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
    .royalis-header { padding-inline: 10px; }
    .royalis-header-logo { width: 160px; }
    .royalis-hero-actions { display: grid; grid-template-columns: 1fr; }
    .royalis-button { width: 100%; }
    .royalis-feature-pills span { width: 100%; }
    .royalis-countdown { gap: 7px; }
    .royalis-countdown > div { padding: 9px 5px; }
    .royalis-hero-visual { min-height: 300px; }
    .royalis-status-strip-inner { display: grid; }
    .royalis-status-grid { grid-template-columns: 1fr; }
    .royalis-footer-inner { grid-template-columns: 1fr; }
    .royalis-wiki-home-hero { min-height: 620px; padding: 30px 22px 215px; }
    .royalis-wiki-hero-logo { width: 100%; margin-bottom: -8px; }
    .royalis-wiki-home-hero h2 { font-size: 2rem; }
    .royalis-wiki-hero-character { bottom: -165px; width: 360px; }
    .royalis-skill-icon { width: 36px; height: 36px; }
}

@media (prefers-reduced-motion: reduce) {
    .royalis-logo-shine::after,
    .royalis-hero-visual img { animation: none !important; }
}

/* ========================================================================
   Royalis Celestial v4 — clean homepage, dungeon archive, responsive fixes
   ======================================================================== */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

.royalis-shell,
.royalis-main,
.royalis-page-shell,
.royalis-home-v4,
.royalis-home-v4 * {
    box-sizing: border-box;
}

body.module-main.action-index .royalis-main,
body.module-main.action-index .royalis-page-shell {
    padding: 0;
    width: 100%;
    max-width: none;
}

.royalis-home-v4 {
    --v4-navy: #05143a;
    --v4-blue: #0a3473;
    --v4-cyan: #58def6;
    --v4-gold: #f2c45e;
    --v4-ink: #102955;
    --v4-muted: #647493;
    --v4-line: rgba(23, 68, 132, .12);
    color: var(--v4-ink);
    background:
        radial-gradient(circle at 90% 18%, rgba(94, 221, 246, .14), transparent 420px),
        linear-gradient(180deg, #f8fbff 0%, #edf5ff 52%, #f8fbff 100%);
}

.royalis-v4-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 660px;
    display: flex;
    align-items: center;
    color: #fff;
    border-bottom: 1px solid rgba(255, 218, 121, .22);
    background:
        radial-gradient(circle at 76% 48%, rgba(43, 193, 235, .22), transparent 33%),
        radial-gradient(circle at 10% 90%, rgba(31, 92, 190, .28), transparent 35%),
        linear-gradient(118deg, #030e2e 0%, #061a48 47%, #0b3975 100%);
}

.royalis-v4-hero::before,
.royalis-v4-hero::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.royalis-v4-hero::before {
    inset: 0;
    z-index: -2;
    opacity: .42;
    background-image:
        linear-gradient(rgba(97, 224, 247, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(97, 224, 247, .045) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.65) 62%, transparent 100%);
}

.royalis-v4-hero::after {
    z-index: -1;
    right: -120px;
    bottom: -330px;
    width: 800px;
    height: 800px;
    border: 1px solid rgba(255, 214, 111, .16);
    border-radius: 50%;
    box-shadow: 0 0 0 80px rgba(82, 220, 246, .018), 0 0 0 150px rgba(255, 220, 137, .012);
}

.royalis-v4-hero-stars {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .45;
    background:
        radial-gradient(circle at 7% 22%, #6de9ff 0 1px, transparent 2px),
        radial-gradient(circle at 19% 66%, #ffe095 0 1px, transparent 2px),
        radial-gradient(circle at 38% 18%, #fff 0 1px, transparent 2px),
        radial-gradient(circle at 57% 71%, #62dff7 0 1px, transparent 2px),
        radial-gradient(circle at 84% 16%, #ffe095 0 1px, transparent 2px),
        radial-gradient(circle at 93% 72%, #fff 0 1px, transparent 2px);
}

.royalis-v4-hero-inner {
    position: relative;
    width: min(1280px, calc(100% - 48px));
    min-height: 660px;
    margin: 0 auto;
    padding: 54px 0 48px;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
    align-items: center;
    gap: clamp(20px, 4vw, 64px);
}

.royalis-v4-hero-copy {
    position: relative;
    z-index: 3;
    min-width: 0;
    max-width: 680px;
}

.royalis-v4-eyebrow,
.royalis-v4-episode {
    display: block;
    text-transform: uppercase;
    letter-spacing: .15em;
    font-weight: 800;
}

.royalis-v4-eyebrow {
    margin-bottom: 4px;
    color: #65e5fa;
    font-size: .74rem;
}

.royalis-v4-main-logo {
    display: block;
    width: min(560px, 92%);
    margin: -18px 0 -30px -12px;
    filter: drop-shadow(0 24px 40px rgba(0, 0, 0, .32));
}

.royalis-v4-main-logo img {
    display: block;
    width: 100%;
    height: auto;
}

.royalis-v4-episode {
    width: fit-content;
    max-width: 100%;
    margin: 0 0 16px;
    padding: 9px 13px;
    color: #ffe39a;
    font-size: .75rem;
    line-height: 1.4;
    border: 1px solid rgba(255, 220, 133, .23);
    border-radius: 999px;
    background: rgba(255,255,255,.055);
}

.royalis-v4-intro {
    max-width: 650px;
    margin: 0;
    color: rgba(232, 243, 255, .82);
    font-size: 1rem;
    line-height: 1.72;
}

.royalis-v4-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

.royalis-v4-tags span {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    padding: 0 11px;
    color: rgba(237, 247, 255, .88);
    font-size: .7rem;
    font-weight: 760;
    border: 1px solid rgba(103, 226, 249, .18);
    border-radius: 999px;
    background: rgba(255,255,255,.05);
}

.royalis-v4-tags span::before {
    content: "✦";
    margin-right: 7px;
    color: #f5ca66;
    font-size: .62rem;
}

.royalis-v4-opening {
    margin-top: 22px;
}

.royalis-v4-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 25px;
}

.royalis-v4-hero-art {
    position: relative;
    z-index: 2;
    width: 100%;
    min-width: 0;
    min-height: 570px;
    display: grid;
    place-items: center;
}

.royalis-v4-hero-art img {
    position: relative;
    z-index: 3;
    display: block;
    width: min(540px, 100%);
    max-width: 100%;
    height: auto;
    filter: drop-shadow(0 30px 50px rgba(0, 0, 0, .30));
    animation: royalis-v4-float 7s ease-in-out infinite;
}

.royalis-v4-art-ring,
.royalis-v4-art-glow {
    position: absolute;
    aspect-ratio: 1;
    border-radius: 50%;
}

.royalis-v4-art-ring {
    z-index: 1;
    width: min(520px, 86%);
    border: 1px solid rgba(255, 219, 125, .30);
    box-shadow: 0 0 0 28px rgba(70, 221, 247, .025), 0 0 65px rgba(72, 218, 246, .16);
}

.royalis-v4-art-glow {
    z-index: 0;
    width: min(590px, 94%);
    background: radial-gradient(circle, rgba(73, 218, 247, .25), rgba(41, 117, 213, .08) 50%, transparent 70%);
    filter: blur(10px);
}

@keyframes royalis-v4-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

.royalis-v4-status {
    position: relative;
    z-index: 5;
    width: min(1180px, calc(100% - 48px));
    margin: -34px auto 0;
    padding: 18px 20px;
    display: grid;
    grid-template-columns: minmax(190px, .7fr) minmax(0, 2fr);
    align-items: center;
    gap: 22px;
    color: #fff;
    border: 1px solid rgba(255, 222, 143, .18);
    border-radius: 22px;
    background:
        radial-gradient(circle at 95% 0%, rgba(68, 218, 244, .16), transparent 250px),
        linear-gradient(135deg, #071a47, #0b3d7a);
    box-shadow: 0 24px 55px rgba(10, 37, 86, .22);
}

.royalis-v4-status-heading {
    display: grid;
    gap: 3px;
}

.royalis-v4-status-heading strong {
    color: #fff;
    font: 700 1.18rem/1.2 Georgia, "Times New Roman", serif;
}

.royalis-v4-status-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.royalis-v4-status-grid article {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid rgba(104, 228, 250, .13);
    border-radius: 14px;
    background: rgba(255,255,255,.06);
}

.royalis-v4-status-grid span,
.royalis-v4-status-grid strong {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.royalis-v4-status-grid span {
    margin-bottom: 4px;
    color: rgba(218, 235, 255, .61);
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .09em;
}

.royalis-v4-status-grid strong {
    color: #ffe19a;
    font-size: .84rem;
}

.royalis-v4-section {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 72px 0 0;
}

.royalis-v4-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 480px);
    align-items: end;
    gap: 34px;
    margin-bottom: 28px;
}

.royalis-v4-section-heading.is-compact {
    align-items: center;
}

.royalis-v4-section-heading h2 {
    margin: 6px 0 0;
    color: #0d2858;
    font: 700 clamp(2rem, 4vw, 3.05rem)/1.08 Georgia, "Times New Roman", serif;
    letter-spacing: -.025em;
}

.royalis-v4-section-heading > p {
    margin: 0;
    color: #677693;
    line-height: 1.7;
}

.royalis-v4-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.royalis-v4-summary-grid article {
    position: relative;
    overflow: hidden;
    min-height: 112px;
    padding: 22px;
    display: grid;
    align-content: center;
    gap: 7px;
    border: 1px solid var(--v4-line);
    border-radius: 18px;
    background: rgba(255,255,255,.88);
    box-shadow: 0 14px 34px rgba(19, 55, 111, .08);
}

.royalis-v4-summary-grid article::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: linear-gradient(180deg, #50dff6, #efbd57);
}

.royalis-v4-summary-grid span {
    color: #75819a;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.royalis-v4-summary-grid strong {
    color: #143263;
    font-size: .98rem;
    line-height: 1.35;
}

.royalis-v4-stone-rule {
    position: relative;
    overflow: hidden;
    margin-bottom: 35px;
    padding: 20px 22px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    color: #fff;
    border: 1px solid rgba(255, 221, 136, .28);
    border-radius: 19px;
    background:
        radial-gradient(circle at 86% 20%, rgba(82, 224, 249, .20), transparent 240px),
        linear-gradient(120deg, #081b49, #0b3c78);
    box-shadow: 0 17px 42px rgba(13, 48, 100, .14);
}

.royalis-v4-stone-rule::after {
    content: "";
    position: absolute;
    right: -70px;
    top: -110px;
    width: 230px;
    height: 230px;
    border: 1px solid rgba(255,220,133,.13);
    border-radius: 50%;
}

.royalis-v4-stone-icon {
    position: relative;
    z-index: 1;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    color: #092553;
    border-radius: 13px;
    background: linear-gradient(145deg, #fff0b2, #e6b54d);
    box-shadow: 0 9px 22px rgba(0,0,0,.20);
}

.royalis-v4-stone-rule strong,
.royalis-v4-stone-rule p {
    display: block;
    margin: 0;
}

.royalis-v4-stone-rule > div > strong {
    margin-bottom: 3px;
    color: #ffe6a5;
    font-size: .92rem;
}

.royalis-v4-stone-rule p {
    color: rgba(232, 243, 255, .78);
    font-size: .85rem;
}

.royalis-v4-stone-rule a {
    position: relative;
    z-index: 2;
    white-space: nowrap;
    color: #fff0bb;
    font-weight: 800;
    font-size: .78rem;
}

.royalis-v4-dungeon-group + .royalis-v4-dungeon-group {
    margin-top: 48px;
}

.royalis-v4-group-title {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 17px;
}

.royalis-v4-group-title h3,
.royalis-v4-group-title p {
    margin: 0;
}

.royalis-v4-group-title h3 {
    color: #123262;
    font-size: 1.12rem;
}

.royalis-v4-group-title p {
    margin-top: 3px;
    color: #75819a;
    font-size: .82rem;
}

.royalis-v4-status-dot {
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    margin-top: 6px;
    border-radius: 50%;
}

.royalis-v4-status-dot.is-live {
    background: #4bd9bd;
    box-shadow: 0 0 0 6px rgba(75,217,189,.12);
}

.royalis-v4-status-dot.is-future {
    background: #e9bd57;
    box-shadow: 0 0 0 6px rgba(233,189,87,.12);
}

.royalis-v4-dungeon-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.royalis-v4-dungeon-grid.is-future-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.royalis-v4-dungeon-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--v4-line);
    border-radius: 21px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 17px 42px rgba(18, 52, 106, .09);
    transition: transform .2s ease, box-shadow .2s ease;
}

.royalis-v4-dungeon-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 25px 55px rgba(18, 52, 106, .14);
}

.royalis-v4-dungeon-image {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 8.6;
    background: #0a2658;
}

.royalis-v4-dungeon-image::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 44%;
    background: linear-gradient(transparent, rgba(4,17,46,.68));
}

.royalis-v4-dungeon-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.royalis-v4-dungeon-card:hover .royalis-v4-dungeon-image img {
    transform: scale(1.025);
}

.royalis-v4-card-status {
    position: absolute;
    z-index: 2;
    left: 14px;
    bottom: 13px;
    padding: 7px 10px;
    color: #082953;
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-radius: 999px;
    background: #a8f3e6;
    box-shadow: 0 8px 20px rgba(0,0,0,.18);
}

.royalis-v4-dungeon-card.is-future .royalis-v4-card-status {
    color: #4b3405;
    background: #ffe4a0;
}

.royalis-v4-dungeon-content {
    padding: 20px 21px 21px;
}

.royalis-v4-level {
    color: #16749d;
    font-size: .67rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.royalis-v4-dungeon-content h3 {
    margin: 7px 0 8px;
    color: #102e60;
    font: 700 1.32rem/1.18 Georgia, "Times New Roman", serif;
}

.royalis-v4-dungeon-content > p {
    min-height: 46px;
    margin: 0;
    color: #687690;
    font-size: .83rem;
    line-height: 1.6;
}

.royalis-v4-dungeon-content dl {
    margin: 15px 0 16px;
    display: grid;
    gap: 8px;
}

.royalis-v4-dungeon-content dl div {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 9px;
}

.royalis-v4-dungeon-content dt,
.royalis-v4-dungeon-content dd {
    margin: 0;
    font-size: .74rem;
    line-height: 1.45;
}

.royalis-v4-dungeon-content dt {
    color: #7c879d;
    font-weight: 800;
}

.royalis-v4-dungeon-content dd {
    color: #30486d;
}

.royalis-v4-dungeon-card.is-future .royalis-v4-dungeon-content {
    padding: 17px 17px 18px;
}

.royalis-v4-dungeon-card.is-future .royalis-v4-dungeon-content h3 {
    font-size: 1.05rem;
}

.royalis-v4-dungeon-card.is-future .royalis-v4-dungeon-content > p {
    min-height: 68px;
    font-size: .76rem;
}

.royalis-v4-text-link,
.royalis-v4-outline-link {
    color: #145d91;
    font-size: .78rem;
    font-weight: 820;
}

.royalis-v4-text-link span {
    display: inline-block;
    margin-left: 4px;
    transition: transform .2s ease;
}

.royalis-v4-text-link:hover span {
    transform: translateX(3px);
}

.royalis-v4-resource-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    gap: 20px;
}

.royalis-v4-news-panel,
.royalis-v4-wiki-panel {
    padding: 24px;
    border: 1px solid var(--v4-line);
    border-radius: 21px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 17px 42px rgba(18, 52, 106, .08);
}

.royalis-v4-panel-heading {
    margin-bottom: 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.royalis-v4-panel-heading h3 {
    margin: 0;
    color: #123060;
    font-size: 1.04rem;
}

.royalis-v4-panel-heading span,
.royalis-v4-panel-heading a {
    color: #69809b;
    font-size: .72rem;
    font-weight: 750;
}

.royalis-v4-news-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.royalis-v4-news-list article {
    padding: 17px;
    border: 1px solid rgba(24,70,135,.09);
    border-radius: 15px;
    background: #f7faff;
}

.royalis-v4-news-list time {
    color: #1a789e;
    font-size: .65rem;
    font-weight: 800;
    text-transform: uppercase;
}

.royalis-v4-news-list h4 {
    margin: 7px 0;
    color: #183665;
    font-size: .9rem;
    line-height: 1.35;
}

.royalis-v4-news-list p {
    margin: 0;
    color: #748099;
    font-size: .74rem;
    line-height: 1.55;
}

.royalis-v4-wiki-links {
    display: grid;
    gap: 8px;
}

.royalis-v4-wiki-links a {
    min-width: 0;
    padding: 12px 13px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 10px;
    border: 1px solid rgba(27,72,135,.09);
    border-radius: 13px;
    background: #f7faff;
}

.royalis-v4-wiki-links span,
.royalis-v4-wiki-links small {
    min-width: 0;
}

.royalis-v4-wiki-links span {
    color: #173866;
    font-size: .8rem;
    font-weight: 800;
}

.royalis-v4-wiki-links small {
    grid-column: 1;
    margin-top: 2px;
    color: #7a879e;
    font-size: .66rem;
}

.royalis-v4-wiki-links b {
    grid-column: 2;
    grid-row: 1 / 3;
    color: #1b7fa5;
}

.royalis-v4-empty {
    min-height: 112px;
    padding: 22px;
    display: grid;
    place-content: center;
    text-align: center;
    border: 1px dashed rgba(26,73,140,.16);
    border-radius: 15px;
    background: #f8fbff;
}

.royalis-v4-empty strong {
    color: #30496e;
}

.royalis-v4-empty p {
    margin: 4px 0 0;
    color: #7b879c;
    font-size: .8rem;
}

.royalis-v4-outline-link {
    padding: 10px 14px;
    border: 1px solid rgba(22,91,144,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.66);
}

.royalis-v4-ranking-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.royalis-v4-ranking-grid article {
    min-width: 0;
    padding: 18px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    border: 1px solid var(--v4-line);
    border-radius: 17px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 14px 34px rgba(18,52,106,.08);
}

.royalis-v4-rank {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    color: #14305f;
    font-weight: 900;
    border-radius: 50%;
    background: linear-gradient(145deg, #fff2c5, #e8bd59);
}

.royalis-v4-ranking-grid h3,
.royalis-v4-ranking-grid p {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}

.royalis-v4-ranking-grid h3 {
    color: #143260;
    font-size: .91rem;
}

.royalis-v4-ranking-grid p {
    margin-top: 4px;
    color: #738098;
    font-size: .7rem;
}

.royalis-v4-cta {
    width: min(1180px, calc(100% - 48px));
    margin: 72px auto 70px;
    padding: clamp(28px, 4vw, 44px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    color: #fff;
    border: 1px solid rgba(255,220,132,.2);
    border-radius: 25px;
    background:
        radial-gradient(circle at 90% -15%, rgba(67,219,245,.2), transparent 270px),
        linear-gradient(125deg, #061640, #0b3f7c);
    box-shadow: 0 24px 58px rgba(9,36,84,.19);
}

.royalis-v4-cta h2,
.royalis-v4-cta p {
    margin: 0;
}

.royalis-v4-cta h2 {
    margin-top: 6px;
    color: #fff;
    font: 700 clamp(1.8rem, 3vw, 2.55rem)/1.1 Georgia, "Times New Roman", serif;
}

.royalis-v4-cta p {
    margin-top: 9px;
    color: rgba(226,240,255,.75);
}

.royalis-v4-cta .royalis-v4-actions {
    margin: 0;
    justify-content: flex-end;
}

/* Built-in Illusion Dungeon wiki articles */
.royalis-wiki-cover {
    position: relative;
    overflow: hidden;
    margin: 0 0 24px;
    aspect-ratio: 16 / 7;
    border: 1px solid rgba(255,218,126,.22);
    border-radius: 22px;
    background: #081c4a;
    box-shadow: 0 18px 44px rgba(15,48,100,.13);
}

.royalis-wiki-cover::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 46%;
    background: linear-gradient(transparent, rgba(5,19,53,.58));
}

.royalis-wiki-cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.royalis-wiki-fact-grid {
    margin: 0 0 25px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.royalis-wiki-fact-grid > div {
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(24,70,136,.1);
    border-radius: 14px;
    background: #f4f9ff;
}

.royalis-wiki-fact-grid span,
.royalis-wiki-fact-grid strong {
    display: block;
    overflow-wrap: anywhere;
}

.royalis-wiki-fact-grid span {
    color: #78849b;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.royalis-wiki-fact-grid strong {
    margin-top: 5px;
    color: #173867;
    font-size: .82rem;
}

.royalis-wiki-callout {
    margin: 24px 0;
    padding: 19px 20px;
    border-radius: 16px;
}

.royalis-wiki-callout-gold {
    color: #fff;
    border: 1px solid rgba(255,219,126,.27);
    background:
        radial-gradient(circle at 94% 0%, rgba(65,220,246,.18), transparent 220px),
        linear-gradient(125deg, #081c4a, #0b3f7d);
}

.royalis-wiki-callout strong {
    color: #ffe49d;
}

.royalis-wiki-callout p {
    margin: 5px 0 0;
    color: rgba(230,242,255,.8);
}

.royalis-wiki-status-banner {
    width: fit-content;
    margin: -12px 0 18px;
    padding: 8px 12px;
    color: #523704;
    font-size: .7rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    border-radius: 999px;
    background: linear-gradient(145deg, #fff0b8, #e9bd58);
}

.royalis-wiki-map {
    margin: 18px 0 26px;
    padding: 18px;
    text-align: center;
    border: 1px solid rgba(24,70,136,.1);
    border-radius: 17px;
    background: #f5f9ff;
}

.royalis-wiki-map img {
    display: block;
    width: min(480px, 100%);
    height: auto;
    margin: 0 auto;
    image-rendering: pixelated;
}

.royalis-wiki-map figcaption {
    margin-top: 10px;
    color: #758199;
    font-size: .72rem;
}

.royalis-wiki-dungeon-links {
    margin: 17px 0 26px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.royalis-wiki-dungeon-links a {
    min-width: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    align-items: center;
    color: inherit;
    border: 1px solid rgba(24,70,136,.1);
    border-radius: 15px;
    background: #f5f9ff;
}

.royalis-wiki-dungeon-links img {
    width: 110px;
    height: 82px;
    object-fit: cover;
}

.royalis-wiki-dungeon-links span {
    min-width: 0;
    padding: 12px;
}

.royalis-wiki-dungeon-links strong,
.royalis-wiki-dungeon-links small {
    display: block;
    overflow-wrap: anywhere;
}

.royalis-wiki-dungeon-links strong {
    color: #173766;
    font-size: .84rem;
}

.royalis-wiki-dungeon-links small {
    margin-top: 4px;
    color: #758198;
    font-size: .68rem;
}

.royalis-wiki-source-note {
    margin-top: 28px !important;
    padding-top: 14px;
    color: #7b879a !important;
    font-size: .72rem !important;
    border-top: 1px solid rgba(24,70,136,.1);
}

/* Skill icon matcher enhancements */
.royalis-wiki-article-body [data-skill-name].royalis-skill-title,
.royalis-wiki-article-body .skill-name.royalis-skill-title,
.royalis-wiki-article-body dt.royalis-skill-title {
    display: flex;
    align-items: center;
    gap: 9px;
}

@media (max-width: 1120px) {
    .royalis-v4-hero-inner {
        grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
    }

    .royalis-v4-hero-art {
        min-height: 500px;
    }

    .royalis-v4-dungeon-grid.is-future-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .royalis-v4-news-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .royalis-v4-hero {
        min-height: 0;
    }

    .royalis-v4-hero-inner {
        min-height: 0;
        padding: 58px 0 34px;
        grid-template-columns: 1fr;
        text-align: center;
    }

    .royalis-v4-hero-copy {
        max-width: 720px;
        margin: 0 auto;
    }

    .royalis-v4-main-logo {
        margin: -36px auto -50px;
    }

    .royalis-v4-episode {
        margin-inline: auto;
    }

    .royalis-v4-tags,
    .royalis-v4-actions {
        justify-content: center;
    }

    .royalis-v4-hero-art {
        min-height: 420px;
        margin-top: -45px;
    }

    .royalis-v4-hero-art img {
        width: min(520px, 82vw);
    }

    .royalis-v4-art-ring {
        width: min(475px, 75vw);
    }

    .royalis-v4-status {
        margin-top: -18px;
        grid-template-columns: 1fr;
    }

    .royalis-v4-section-heading,
    .royalis-v4-resource-layout,
    .royalis-v4-cta {
        grid-template-columns: 1fr;
    }

    .royalis-v4-section-heading {
        align-items: start;
        gap: 12px;
    }

    .royalis-v4-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .royalis-v4-cta .royalis-v4-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 680px) {
    .royalis-v4-hero-inner,
    .royalis-v4-section,
    .royalis-v4-status,
    .royalis-v4-cta {
        width: min(100% - 24px, 1180px);
    }

    .royalis-v4-hero-inner {
        padding-top: 42px;
    }

    .royalis-v4-main-logo {
        width: min(470px, 104%);
        margin-left: -2%;
    }

    .royalis-v4-episode {
        border-radius: 14px;
    }

    .royalis-v4-intro {
        font-size: .92rem;
    }

    .royalis-v4-hero-art {
        min-height: 320px;
        margin-top: -28px;
    }

    .royalis-v4-hero-art img {
        width: min(390px, 92vw);
    }

    .royalis-v4-art-ring {
        width: min(350px, 84vw);
    }

    .royalis-v4-status {
        padding: 17px;
    }

    .royalis-v4-status-grid,
    .royalis-v4-summary-grid,
    .royalis-v4-dungeon-grid,
    .royalis-v4-dungeon-grid.is-future-grid,
    .royalis-v4-ranking-grid,
    .royalis-wiki-fact-grid,
    .royalis-wiki-dungeon-links {
        grid-template-columns: 1fr;
    }

    .royalis-v4-section {
        padding-top: 56px;
    }

    .royalis-v4-section-heading h2 {
        font-size: 2rem;
    }

    .royalis-v4-stone-rule {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .royalis-v4-stone-rule a {
        grid-column: 1 / -1;
        white-space: normal;
        padding-left: 62px;
    }

    .royalis-v4-dungeon-content > p,
    .royalis-v4-dungeon-card.is-future .royalis-v4-dungeon-content > p {
        min-height: 0;
    }

    .royalis-v4-wiki-links a {
        padding: 11px 12px;
    }

    .royalis-v4-cta {
        margin-top: 56px;
        margin-bottom: 50px;
    }

    .royalis-wiki-cover {
        aspect-ratio: 16 / 9;
        border-radius: 16px;
    }

    .royalis-wiki-dungeon-links a {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .royalis-wiki-dungeon-links img {
        width: 92px;
        height: 76px;
    }
}

@media (max-width: 440px) {
    .royalis-v4-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .royalis-v4-actions .royalis-button {
        width: 100%;
    }

    .royalis-v4-tags span {
        width: 100%;
        justify-content: center;
    }

    .royalis-v4-status-grid {
        gap: 8px;
    }

    .royalis-v4-dungeon-content dl div {
        grid-template-columns: 1fr;
        gap: 1px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .royalis-v4-hero-art img {
        animation: none !important;
    }
}

/* ========================================================================
   Royalis Celestial v5 — final homepage alignment and no-overlap pass
   ======================================================================== */
.royalis-brand-episode {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.module-main.action-index .royalis-page-shell-home {
    overflow: clip;
}

.royalis-v4-hero-inner {
    overflow: visible;
}

.royalis-v4-main-logo {
    width: min(520px, 90%);
    margin: -28px 0 -38px -14px;
}

.royalis-v4-hero-art {
    overflow: visible;
}

.royalis-v4-hero-art img {
    object-fit: contain;
    background: transparent;
}

.royalis-v4-status {
    margin: 28px auto 0;
    box-shadow: 0 18px 42px rgba(10, 37, 86, .16);
}

.royalis-v4-summary {
    padding-top: 62px;
}

.royalis-v4-dungeon-image img {
    background: #071a46;
}

@media (max-width: 900px) {
    .royalis-v4-main-logo {
        width: min(500px, 88%);
        margin: -26px auto -38px;
    }

    .royalis-v4-hero-art {
        margin-top: 0;
    }

    .royalis-v4-status {
        margin-top: 22px;
    }
}

@media (max-width: 680px) {
    .royalis-v4-main-logo {
        width: min(430px, 98%);
        margin: -20px auto -32px;
    }

    .royalis-v4-hero-art {
        margin-top: 0;
    }

    .royalis-v4-status {
        margin-top: 16px;
    }
}

/* Royalis Celestial v5 — structured dungeon article components */
.royalis-wiki-table-wrap {
    width: 100%;
    margin: 18px 0 28px;
    overflow-x: auto;
    border: 1px solid rgba(24,70,136,.11);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15,48,100,.07);
    -webkit-overflow-scrolling: touch;
}

.royalis-wiki-data-table {
    width: 100%;
    min-width: 690px;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: collapse;
    background: transparent;
}

.royalis-wiki-data-table th,
.royalis-wiki-data-table td {
    padding: 13px 15px;
    text-align: left;
    vertical-align: top;
    border: 0;
    border-bottom: 1px solid rgba(24,70,136,.09);
}

.royalis-wiki-data-table thead th {
    color: #f8fbff;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
    background: linear-gradient(135deg, #081b47, #104b86);
}

.royalis-wiki-data-table tbody tr:last-child td {
    border-bottom: 0;
}

.royalis-wiki-data-table tbody tr:nth-child(even) td {
    background: #f6faff;
}

.royalis-wiki-data-table td,
.royalis-wiki-data-table td p,
.royalis-wiki-data-table td li {
    color: #44546d;
    font-size: .79rem;
    line-height: 1.58;
}

.royalis-wiki-data-table a {
    color: #0d5f9f;
    font-weight: 800;
}

.royalis-wiki-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    white-space: nowrap;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.royalis-wiki-pill::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(255,255,255,.55);
}

.royalis-wiki-pill.is-live {
    color: #075f58;
    background: #d9fbf4;
}

.royalis-wiki-pill.is-live::before {
    background: #16bfa9;
}

.royalis-wiki-pill.is-future {
    color: #77510a;
    background: #fff1c9;
}

.royalis-wiki-pill.is-future::before {
    background: #e9ad31;
}

.royalis-wiki-steps {
    margin: 18px 0 28px !important;
    padding: 0 !important;
    list-style: none !important;
    counter-reset: royalis-wiki-step;
}

.royalis-wiki-steps > li {
    position: relative;
    margin: 0 0 10px;
    padding: 15px 17px 15px 56px;
    color: #45556d;
    border: 1px solid rgba(24,70,136,.1);
    border-radius: 14px;
    background: linear-gradient(115deg, #f8fbff, #f2f8ff);
    counter-increment: royalis-wiki-step;
}

.royalis-wiki-steps > li::before {
    content: counter(royalis-wiki-step);
    position: absolute;
    top: 12px;
    left: 14px;
    display: grid;
    width: 29px;
    height: 29px;
    place-items: center;
    color: #102b59;
    font-size: .7rem;
    font-weight: 900;
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 50%;
    background: linear-gradient(145deg, #fff2bd, #e7b74c);
    box-shadow: 0 5px 12px rgba(156,106,12,.16);
}

.royalis-wiki-callout-future {
    color: #294260;
    border: 1px solid rgba(215,158,39,.26);
    background:
        radial-gradient(circle at 96% -30%, rgba(255,219,126,.35), transparent 240px),
        linear-gradient(135deg, #fffaf0, #f7fbff);
}

.royalis-wiki-callout-future strong {
    color: #855f0b;
}

.royalis-wiki-callout-future p {
    color: #5c687a;
}

.royalis-wiki-callout-warning {
    color: #4e2f29;
    border: 1px solid rgba(198,90,55,.19);
    background: linear-gradient(135deg, #fff4ee, #fff9f5);
}

.royalis-wiki-callout-warning strong {
    color: #a6482a;
}

.royalis-wiki-callout-warning p {
    color: #6e5048;
}

.royalis-wiki-source-note a {
    color: #0b609e;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-color: rgba(11,96,158,.3);
    text-underline-offset: 3px;
}

.royalis-wiki-source-note a:hover,
.royalis-wiki-source-note a:focus-visible {
    color: #083e73;
    text-decoration-color: currentColor;
}

@media (max-width: 680px) {
    .royalis-wiki-data-table {
        min-width: 620px;
    }

    .royalis-wiki-data-table th,
    .royalis-wiki-data-table td {
        padding: 11px 12px;
    }

    .royalis-wiki-steps > li {
        padding: 14px 14px 14px 52px;
    }
}


.royalis-v4-dungeon-card.is-future .royalis-v4-dungeon-image {
    cursor: default;
}

.royalis-v4-dungeon-card.is-future .royalis-v4-dungeon-image img {
    display: block;
}


/* ROYALIS SIMPLE HOMEPAGE V7 */
body.module-main.action-index .royalis-page-shell-home { width: 100%; overflow: hidden; }
.royalis-simple-home { color: #10244d; background: #f5f8fd; }
.royalis-simple-hero {
    position: relative; isolation: isolate; overflow: hidden;
    min-height: 560px; padding: 48px max(28px, calc((100vw - 1180px)/2));
    display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); align-items: center; gap: 38px;
    color: #fff; border-bottom: 1px solid rgba(255,214,118,.22);
    background: radial-gradient(circle at 78% 45%, rgba(74,215,244,.19), transparent 33%), linear-gradient(118deg,#03102f 0%,#061c4c 48%,#0b3974 100%);
}
.royalis-simple-hero::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.22; background-image:linear-gradient(rgba(102,224,247,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(102,224,247,.05) 1px,transparent 1px); background-size:54px 54px; }
.royalis-simple-hero-copy { position:relative; z-index:2; max-width:650px; }
.royalis-simple-kicker { display:block; margin-bottom:4px; color:#72e6fa; font-size:.75rem; font-weight:850; letter-spacing:.17em; text-transform:uppercase; }
.royalis-simple-logo { display:block; width:min(540px,95%); margin:-22px 0 -42px -18px; filter:drop-shadow(0 22px 38px rgba(0,0,0,.30)); }
.royalis-simple-logo img { width:100%; height:auto; }
.royalis-simple-episode { width:fit-content; max-width:100%; margin:0 0 18px; padding:9px 14px; border:1px solid rgba(255,216,121,.28); border-radius:999px; background:rgba(255,255,255,.055); color:#ffe097; font-size:.76rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.royalis-simple-intro { max-width:620px; margin:0; color:rgba(234,243,255,.84); font-size:1.02rem; line-height:1.75; }
.royalis-simple-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.royalis-simple-hero-art { position:relative; min-height:430px; display:grid; place-items:center; }
.royalis-simple-hero-art img { position:relative; z-index:2; width:min(470px,100%); height:auto; object-fit:contain; filter:drop-shadow(0 32px 52px rgba(0,0,0,.32)); }
.royalis-simple-glow { position:absolute; width:min(560px,95%); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(74,218,247,.24),rgba(30,93,184,.07) 55%,transparent 72%); filter:blur(8px); }
.royalis-simple-status { position:relative; z-index:3; width:min(1080px,calc(100% - 40px)); margin:-34px auto 0; padding:15px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; border:1px solid rgba(255,211,112,.20); border-radius:20px; background:linear-gradient(135deg,#071943,#0d3e79); box-shadow:0 22px 50px rgba(12,39,91,.24); }
.royalis-simple-status article { padding:16px 18px; border:1px solid rgba(101,225,248,.15); border-radius:14px; background:rgba(255,255,255,.065); }
.royalis-simple-status span,.royalis-simple-status strong { display:block; }
.royalis-simple-status span { margin-bottom:5px; color:rgba(220,237,255,.63); font-size:.66rem; font-weight:800; letter-spacing:.10em; text-transform:uppercase; }
.royalis-simple-status strong { color:#fff; font-size:1rem; overflow-wrap:anywhere; }
.royalis-simple-section { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:58px 0 16px; }
.royalis-simple-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:26px; }
.royalis-simple-heading span,.royalis-simple-links>span { display:block; margin-bottom:5px; color:#17739b; font-size:.68rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.royalis-simple-heading h2 { margin:0; color:#0b2b60; font:700 clamp(2rem,4vw,3rem)/1.08 Georgia,"Times New Roman",serif; }
.royalis-simple-heading p { max-width:480px; margin:0; color:#60718b; line-height:1.65; }
.royalis-simple-heading.is-small { margin-bottom:18px; }
.royalis-simple-heading.is-small h2 { font-size:2rem; }
.royalis-simple-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.royalis-simple-guide { position:relative; min-height:255px; overflow:hidden; border:1px solid rgba(12,57,116,.12); border-radius:18px; box-shadow:0 15px 35px rgba(22,53,100,.14); background:#071a45; }
.royalis-simple-guide img { display:block; width:100%; height:100%; min-height:255px; object-fit:cover; transition:transform .35s ease; }
.royalis-simple-guide::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 18%,rgba(2,12,36,.32) 52%,rgba(2,12,36,.94) 100%); }
.royalis-simple-guide:hover img { transform:scale(1.035); }
.royalis-simple-guide-overlay { position:absolute; z-index:2; left:20px; right:20px; bottom:18px; color:#fff; }
.royalis-simple-guide-overlay small,.royalis-simple-guide-overlay strong,.royalis-simple-guide-overlay b { display:block; }
.royalis-simple-guide-overlay small { color:#71e7fb; font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.royalis-simple-guide-overlay strong { margin:5px 0 10px; font:700 1.35rem/1.2 Georgia,"Times New Roman",serif; }
.royalis-simple-guide-overlay b { color:#ffdc83; font-size:.78rem; }
.royalis-simple-stone-rule { margin:20px 0 0; padding:15px 18px; border:1px solid rgba(37,142,182,.17); border-radius:14px; color:#244467; background:#eef8fd; text-align:center; }
.royalis-simple-bottom { padding-bottom:80px; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr); gap:22px; }
.royalis-simple-news,.royalis-simple-links { padding:24px; border:1px solid rgba(15,67,128,.10); border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(26,62,108,.08); }
.royalis-simple-news-list { display:grid; gap:12px; }
.royalis-simple-news-list article { padding:15px 0; border-top:1px solid #e7edf5; }
.royalis-simple-news-list article:first-child { border-top:0; padding-top:0; }
.royalis-simple-news-list time { color:#56809a; font-size:.68rem; font-weight:800; text-transform:uppercase; }
.royalis-simple-news-list h3 { margin:5px 0 6px; color:#102f62; font-size:1.02rem; }
.royalis-simple-news-list p,.royalis-simple-empty p { margin:0; color:#66768c; line-height:1.55; }
.royalis-simple-links { display:grid; align-content:start; gap:10px; }
.royalis-simple-links>a { display:grid; gap:3px; padding:14px; border:1px solid #e3ebf5; border-radius:12px; background:#f8fbff; }
.royalis-simple-links strong { color:#12366d; }
.royalis-simple-links small { color:#6a7a90; }
@media (max-width:960px) { .royalis-simple-hero { grid-template-columns:1fr; padding-top:48px; text-align:center; } .royalis-simple-hero-copy { margin:auto; } .royalis-simple-logo,.royalis-simple-episode { margin-left:auto; margin-right:auto; } .royalis-simple-actions { justify-content:center; } .royalis-simple-hero-art { min-height:360px; } .royalis-simple-hero-art img { width:min(440px,88vw); } .royalis-simple-heading { display:grid; align-items:start; } .royalis-simple-guide-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:680px) { .royalis-simple-hero { min-height:auto; padding:38px 20px 52px; } .royalis-simple-logo { margin-top:-8px; margin-bottom:-22px; } .royalis-simple-intro { font-size:.94rem; } .royalis-simple-hero-art { min-height:290px; } .royalis-simple-status { grid-template-columns:1fr; margin-top:-20px; } .royalis-simple-section { width:min(100% - 28px,1180px); padding-top:58px; } .royalis-simple-guide-grid,.royalis-simple-bottom { grid-template-columns:1fr; } .royalis-simple-guide,.royalis-simple-guide img { min-height:225px; } }

/* Item icons sourced from itemInfo.lua identifiedResourceName values. */
.royalis-skill-icon.royalis-item-icon {
    image-rendering: pixelated;
    object-fit: contain;
    padding: 5px;
    background: linear-gradient(145deg, #071a43, #123d73);
    border-color: rgba(255, 214, 112, .55);
}

.royalis-wiki-official-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.royalis-wiki-official-grid > a {
    position: relative;
    min-height: 220px;
    overflow: hidden;
    border: 1px solid rgba(19, 77, 139, .14);
    border-radius: 18px;
    background: #071a45;
    box-shadow: 0 15px 34px rgba(18, 51, 96, .13);
}
.royalis-wiki-official-grid img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform .3s ease;
}
.royalis-wiki-official-grid > a::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 20%, rgba(2, 11, 34, .30) 50%, rgba(2, 11, 34, .94) 100%);
}
.royalis-wiki-official-grid > a:hover img { transform: scale(1.035); }
.royalis-wiki-official-grid span {
    position: absolute;
    z-index: 2;
    left: 18px;
    right: 18px;
    bottom: 16px;
    color: #fff;
}
.royalis-wiki-official-grid small,
.royalis-wiki-official-grid strong,
.royalis-wiki-official-grid b { display: block; }
.royalis-wiki-official-grid small { color: #71e7fb; font-size: .66rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.royalis-wiki-official-grid strong { margin: 5px 0 8px; font: 700 1.28rem/1.2 Georgia, "Times New Roman", serif; }
.royalis-wiki-official-grid b { color: #ffdc83; font-size: .76rem; }
@media (max-width: 900px) { .royalis-wiki-official-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .royalis-wiki-official-grid { grid-template-columns: 1fr; } }


/* Lightweight official pixel-sprite class showcase */
.royalis-wiki-class-media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    display: block;
}
.royalis-wiki-class-entry.is-pixel-sprite {
    background:
        radial-gradient(circle at 50% 27%, rgba(90, 228, 255, .20), transparent 34%),
        radial-gradient(circle at 78% 18%, rgba(255, 209, 104, .14), transparent 27%),
        linear-gradient(145deg, #07143b 0%, #0b3268 58%, #071735 100%);
}
.royalis-wiki-class-entry.is-pixel-sprite::before {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 14px;
    border: 1px solid rgba(255, 216, 124, .17);
    border-radius: 18px;
    pointer-events: none;
}
.royalis-wiki-class-entry.is-pixel-sprite .royalis-wiki-class-media {
    display: grid;
    place-items: start center;
    padding: 24px 20px 115px;
}
.royalis-wiki-class-entry.is-pixel-sprite .royalis-wiki-class-media::before,
.royalis-wiki-class-entry.is-pixel-sprite .royalis-wiki-class-media::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.royalis-wiki-class-entry.is-pixel-sprite .royalis-wiki-class-media::before {
    top: 26px;
    width: 238px;
    height: 238px;
    border: 1px solid rgba(255, 214, 110, .28);
    box-shadow: 0 0 0 20px rgba(80, 222, 251, .025), 0 0 48px rgba(58, 198, 255, .18);
}
.royalis-wiki-class-entry.is-pixel-sprite .royalis-wiki-class-media::after {
    top: 72px;
    width: 170px;
    height: 110px;
    background: rgba(73, 222, 255, .22);
    filter: blur(32px);
}
.royalis-wiki-class-aura {
    position: absolute;
    z-index: 1;
    top: 94px;
    width: 190px;
    height: 88px;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(255, 225, 146, .34), rgba(72, 221, 255, .11) 48%, transparent 72%);
    filter: blur(7px);
    opacity: .72;
}
.royalis-wiki-class-entry.is-pixel-sprite .royalis-wiki-class-media > img {
    position: relative;
    z-index: 2;
    inset: auto;
    width: auto;
    height: 205px;
    max-width: 88%;
    object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 16px 11px rgba(1, 5, 22, .48));
    transform-origin: 50% 80%;
    animation: royalis-sprite-float 4.8s ease-in-out infinite;
    animation-play-state: paused;
}
.royalis-wiki-class-entry.is-pixel-sprite.is-in-view .royalis-wiki-class-media > img { animation-play-state: running; }
.royalis-wiki-class-entry.is-pixel-sprite.is-in-view .royalis-wiki-class-aura { animation: royalis-aura-pulse 3.8s ease-in-out infinite; }
.royalis-wiki-class-entry.is-pixel-sprite:hover .royalis-wiki-class-media > img {
    transform: translateY(-5px) scale(1.08);
    filter: drop-shadow(0 19px 13px rgba(1, 5, 22, .52)) drop-shadow(0 0 12px rgba(93, 227, 255, .30));
}
.royalis-wiki-class-entry.is-class-art .royalis-wiki-class-media > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@keyframes royalis-sprite-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}
@keyframes royalis-aura-pulse {
    0%, 100% { opacity: .58; transform: scale(.96); }
    50% { opacity: .9; transform: scale(1.08); }
}
.royalis-wiki-class-group,
.royalis-wiki-published-class-pages,
.royalis-simple-section {
    content-visibility: auto;
    contain-intrinsic-size: 700px;
}
@media (prefers-reduced-motion: reduce) {
    .royalis-wiki-class-entry.is-pixel-sprite .royalis-wiki-class-media > img,
    .royalis-wiki-class-entry.is-pixel-sprite .royalis-wiki-class-aura {
        animation: none !important;
        transition: none !important;
    }
}


/* Pixel-sprite treatment for the wiki homepage class preview */
.royalis-wiki-class-card {
    background:
        radial-gradient(circle at 50% 30%, rgba(91, 226, 255, .18), transparent 34%),
        linear-gradient(145deg, #07143b, #0b3268 62%, #071735);
}
.royalis-wiki-home-class-media {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: start center;
    overflow: hidden;
    padding: 12px 10px 55px;
}
.royalis-wiki-home-class-media.is-pixel-sprite::before {
    content: "";
    position: absolute;
    top: 18px;
    width: 138px;
    height: 138px;
    border: 1px solid rgba(255, 215, 122, .24);
    border-radius: 50%;
    box-shadow: 0 0 30px rgba(74, 219, 250, .16);
}
.royalis-wiki-home-class-aura {
    position: absolute;
    top: 60px;
    width: 130px;
    height: 65px;
    border-radius: 50%;
    background: rgba(75, 220, 250, .19);
    filter: blur(18px);
}
.royalis-wiki-home-class-media.is-pixel-sprite img {
    position: relative;
    z-index: 1;
    width: auto;
    height: 132px;
    max-width: 90%;
    min-height: 0;
    object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 10px 8px rgba(0, 0, 0, .45));
    animation: royalis-sprite-float 4.8s ease-in-out infinite;
    animation-play-state: paused;
}
.royalis-wiki-class-card.is-in-view .royalis-wiki-home-class-media.is-pixel-sprite img { animation-play-state: running; }
.royalis-wiki-home-class-media.is-class-art img {
    width: 100%;
    height: 100%;
    min-height: 190px;
    object-fit: cover;
}
.royalis-wiki-class-card:hover .royalis-wiki-home-class-media.is-pixel-sprite img { transform: translateY(-4px) scale(1.06); }
@media (prefers-reduced-motion: reduce) {
    .royalis-wiki-home-class-media.is-pixel-sprite img { animation: none !important; }
}


/* Official Karnos class artwork from the Gravity developer note. */
.royalis-wiki-class-entry.is-class-art .royalis-wiki-class-media > img[src*="karnos-official-gnjoy"],
.royalis-wiki-home-class-media.is-class-art img[src*="karnos-official-gnjoy"] {
    object-position: center center;
    filter: saturate(1.04) contrast(1.03) brightness(.96);
}


.royalis-wiki-class-entry img[data-animated-src],
.royalis-wiki-class-card img[data-animated-src] {
    backface-visibility: hidden;
    transform: translateZ(0);
}

/* Episode 16.1 class and skill guide presentation. */
.royalis-wiki-class-article-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 210px;
    gap: 28px;
    align-items: end;
}
.royalis-wiki-class-article-copy { min-width: 0; }
.royalis-wiki-class-article-copy > p {
    max-width: 720px;
    margin: 0;
    color: var(--wiki-muted);
    line-height: 1.55;
}
.royalis-wiki-class-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 22px;
}
.royalis-wiki-class-facts > span {
    display: grid;
    gap: 3px;
    padding: 11px 12px;
    border: 1px solid rgba(77, 118, 93, .13);
    border-radius: 12px;
    background: rgba(237, 244, 237, .72);
}
.royalis-wiki-class-facts small {
    color: #83908a;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.royalis-wiki-class-facts strong { color: var(--wiki-green-dark); font-size: .8rem; line-height: 1.25; }
.royalis-wiki-class-article-art {
    position: relative;
    display: grid;
    place-items: end center;
    min-height: 220px;
    overflow: hidden;
    border-radius: 22px;
    background: radial-gradient(circle at 50% 70%, rgba(118, 208, 172, .28), transparent 44%), linear-gradient(160deg, #e8f2e9, #f4eef5);
}
.royalis-wiki-class-article-art::before {
    content: "";
    position: absolute;
    width: 145px;
    height: 145px;
    top: 29px;
    border: 1px solid rgba(77, 118, 93, .15);
    border-radius: 50%;
    box-shadow: 0 0 0 16px rgba(255,255,255,.22);
}
.royalis-wiki-class-article-art img {
    position: relative;
    z-index: 1;
    width: auto;
    max-width: 92%;
    height: 185px;
    object-fit: contain;
    image-rendering: pixelated;
    filter: drop-shadow(0 14px 12px rgba(33, 58, 43, .24));
}
.royalis-wiki-skill-toolbar {
    position: sticky;
    z-index: 4;
    top: 84px;
    display: grid;
    grid-template-columns: minmax(230px, 1fr) auto;
    gap: 10px 16px;
    align-items: end;
    margin: 30px 0 18px;
    padding: 14px;
    border: 1px solid rgba(77, 118, 93, .16);
    border-radius: 17px;
    background: rgba(255, 254, 251, .94);
    box-shadow: 0 14px 32px rgba(52, 61, 59, .09);
    backdrop-filter: blur(12px);
}
.royalis-wiki-skill-toolbar label { display: grid; gap: 6px; margin: 0; }
.royalis-wiki-skill-toolbar label > span {
    color: #607268;
    font-size: .67rem;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.royalis-wiki-skill-toolbar input[type="search"] {
    width: 100%;
    min-height: 42px;
    padding: 0 13px;
    border: 1px solid #dce5dc;
    border-radius: 11px;
    background: #fff;
    box-shadow: none;
}
.royalis-wiki-skill-toolbar input[type="search"]:focus { border-color: #71947d; outline: 3px solid rgba(113, 148, 125, .12); }
.royalis-wiki-skill-filters { display: flex; flex-wrap: wrap; gap: 5px; }
.royalis-wiki-skill-filters button {
    min-height: 38px;
    padding: 0 11px;
    border: 1px solid #dfe6df;
    border-radius: 10px;
    background: #f5f7f3;
    color: #66736d;
    font-size: .7rem;
    font-weight: 800;
}
.royalis-wiki-skill-filters button:hover,
.royalis-wiki-skill-filters button.is-active { border-color: #4d765d; background: #4d765d; color: #fff; }
.royalis-wiki-skill-results { grid-column: 1 / -1; color: #83908a; font-size: .7rem; font-weight: 750; }
.royalis-wiki-skill-card {
    margin: 0 0 14px;
    padding: 20px 21px;
    border: 1px solid rgba(77, 118, 93, .14);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(247,249,245,.96));
    box-shadow: 0 9px 24px rgba(52, 61, 59, .055);
}
.royalis-wiki-skill-card[hidden] { display: none !important; }
.royalis-wiki-article-body .royalis-wiki-skill-card > h2 {
    margin: 0 0 14px;
    padding: 0 0 12px;
    border-bottom-color: rgba(77, 118, 93, .14);
    font-size: 1.43rem;
}
.royalis-wiki-skill-card > ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.royalis-wiki-skill-card > ul > li {
    padding: 8px 0;
    border-bottom: 1px solid rgba(77, 118, 93, .09);
    line-height: 1.52;
}
.royalis-wiki-skill-card > ul > li:last-child { border-bottom: 0; }
.royalis-wiki-skill-card > ul > li > strong:first-child { color: #42614d; }
.royalis-wiki-skill-empty { padding: 24px; border: 1px dashed #cfdacf; border-radius: 16px; background: #f7faf6; color: var(--wiki-muted); text-align: center; }

@media (max-width: 900px) {
    .royalis-wiki-class-article-hero { grid-template-columns: minmax(0, 1fr) 160px; gap: 18px; }
    .royalis-wiki-class-article-art { min-height: 185px; }
    .royalis-wiki-class-article-art img { height: 155px; }
    .royalis-wiki-skill-toolbar { position: static; grid-template-columns: 1fr; }
    .royalis-wiki-skill-results { grid-column: 1; }
}
@media (max-width: 620px) {
    .royalis-wiki-class-article-hero { grid-template-columns: 1fr; }
    .royalis-wiki-class-article-art { min-height: 170px; }
    .royalis-wiki-class-facts { grid-template-columns: 1fr; }
    .royalis-wiki-skill-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .royalis-wiki-skill-card { padding: 17px 15px; border-radius: 15px; }
}

/* Player-facing skill overview inspired by class tables on iRO Wiki. */
.royalis-wiki-skill-overview { margin: 24px 0 34px; }
.royalis-wiki-skill-overview-heading {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: end;
    margin-bottom: 12px;
}
.royalis-wiki-skill-overview-heading h2 {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
.royalis-wiki-skill-overview-heading p { max-width: 530px; margin: 0; color: var(--wiki-muted); font-size: .78rem; }
.royalis-wiki-skill-table-wrap { overflow-x: auto; border: 1px solid #cfd8d2; border-radius: 16px; background: #fff; }
.royalis-wiki-article-body table.royalis-wiki-skill-table { min-width: 780px; border: 0; border-radius: 0; table-layout: fixed; }
.royalis-wiki-article-body .royalis-wiki-skill-table th {
    position: sticky;
    z-index: 1;
    top: 0;
    padding: 12px 13px;
    border-right: 1px solid #cfd8d2;
    background: #edf2ef;
    color: #304b3b;
    font-size: .73rem;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .045em;
}
.royalis-wiki-article-body .royalis-wiki-skill-table th:nth-child(1) { width: 27%; }
.royalis-wiki-article-body .royalis-wiki-skill-table th:nth-child(2) { width: 53%; }
.royalis-wiki-article-body .royalis-wiki-skill-table th:nth-child(3) { width: 9%; }
.royalis-wiki-article-body .royalis-wiki-skill-table th:nth-child(4) { width: 11%; border-right: 0; }
.royalis-wiki-article-body .royalis-wiki-skill-table td {
    padding: 11px 13px;
    border-right: 1px solid #d7deda;
    border-bottom: 1px solid #d7deda;
    color: #2f3940;
    font-size: .79rem;
    line-height: 1.48;
    vertical-align: middle;
}
.royalis-wiki-article-body .royalis-wiki-skill-table tr:last-child td { border-bottom: 0; }
.royalis-wiki-article-body .royalis-wiki-skill-table td:last-child { border-right: 0; }
.royalis-wiki-article-body .royalis-wiki-skill-table .royalis-wiki-skill-group-row th {
    position: static;
    padding: 9px 14px;
    border: 0;
    border-bottom: 1px solid #c7d2cb;
    background: #dce9e1;
    color: #244834;
    font-size: .72rem;
    text-align: left;
    letter-spacing: .06em;
}
.royalis-wiki-skill-link { display: flex; gap: 10px; align-items: center; font-weight: 800; text-decoration: none !important; }
.royalis-wiki-skill-link img,
.royalis-wiki-skill-placeholder {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    padding: 3px;
    border: 1px solid rgba(255, 210, 111, .42);
    border-radius: 9px;
    background: #091e4c;
    object-fit: contain;
    image-rendering: pixelated;
}
.royalis-wiki-skill-placeholder { display: grid; place-items: center; color: #e5cb88; font-size: .8rem; }
.royalis-wiki-skill-level { text-align: center; font-weight: 850; }
.royalis-wiki-skill-type { text-align: center; font-size: .7rem !important; font-weight: 850; }
.royalis-wiki-skill-type.type-offensive,
.royalis-wiki-skill-card-meta .type-offensive { background: #ffd9dc; color: #8b2832; }
.royalis-wiki-skill-type.type-supportive,
.royalis-wiki-skill-card-meta .type-supportive { background: #d5f3f1; color: #186965; }
.royalis-wiki-skill-type.type-active,
.royalis-wiki-skill-card-meta .type-active { background: #dcf5d8; color: #2f6b32; }
.royalis-wiki-skill-type.type-passive,
.royalis-wiki-skill-card-meta .type-passive { background: #e2e5e7; color: #4e585f; }
.royalis-wiki-skill-card-meta { display: flex; flex-wrap: wrap; gap: 7px; margin: -3px 0 13px 53px; }
.royalis-wiki-skill-card-meta span { padding: 4px 8px; border-radius: 7px; background: #eef1ed; color: #69746e; font-size: .62rem; font-weight: 850; text-transform: uppercase; }
.royalis-wiki-detailed-heading { margin: 38px 0 10px; }
.royalis-wiki-detailed-heading h2 { margin: 0 0 5px !important; }
.royalis-wiki-detailed-heading p { margin: 0; color: var(--wiki-muted); font-size: .8rem; }
.royalis-wiki-skill-section-title {
    margin-top: 42px !important;
    padding: 10px 13px !important;
    border: 1px solid #cad8cf !important;
    border-radius: 10px;
    background: #eaf2ed;
    color: #294b37 !important;
}
.royalis-wiki-level-lines { display: grid; gap: 5px; margin-top: 8px; }
.royalis-wiki-level-lines span { display: block; padding: 6px 9px; border-radius: 7px; background: #f2f6f3; }

@media (max-width: 700px) {
    .royalis-wiki-skill-overview-heading { display: grid; align-items: start; }
    .royalis-wiki-skill-toolbar { top: 0; }
    .royalis-wiki-skill-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .royalis-wiki-skill-card-meta { margin-left: 0; }
}


/* Royalis Episode 16.1 skill reference rebuild */
.royalis-wiki-reference-section { margin: 28px 0; }
.royalis-wiki-reference-section > h2 { margin-bottom: 12px !important; }
.royalis-wiki-group-note {
    margin: -4px 0 18px;
    padding: 13px 15px;
    border: 1px solid #dce5df;
    border-radius: 11px;
    background: #f7f9f7;
    color: #58675f;
}
.royalis-wiki-group-note > :last-child { margin-bottom: 0; }
.royalis-wiki-skill-card {
    margin: 0 0 24px;
    padding: 0;
    overflow: hidden;
    border: 1px solid #cfd8d2;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(49, 61, 55, .055);
}
.royalis-wiki-skill-card[hidden] { display: none !important; }
.royalis-wiki-article-body .royalis-wiki-skill-card > h2 {
    display: flex;
    margin: 0;
    padding: 12px 18px;
    border: 0;
    border-bottom: 1px solid #cfd8d2;
    background: #edf2ef;
    color: #263c30;
    font-size: 1.28rem;
    align-items: center;
    gap: 10px;
}
.royalis-wiki-card-title-icon,
.royalis-wiki-skill-card > h2 .royalis-wiki-skill-placeholder {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    padding: 3px;
    border: 1px solid #aab8af;
    border-radius: 50%;
    background: #172556;
    object-fit: contain;
    image-rendering: pixelated;
}
.royalis-wiki-skill-card > h2 .royalis-wiki-skill-placeholder {
    display: inline-grid;
    place-items: center;
    color: #f1d482;
    font-size: .75rem;
}
.royalis-wiki-skill-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 286px;
    gap: 22px;
    align-items: start;
    padding: 20px;
}
.royalis-wiki-skill-main { min-width: 0; }
.royalis-wiki-skill-main > h3 {
    margin: 0 0 10px;
    color: #2e4438;
    font-size: 1.02rem;
}
.royalis-wiki-skill-main > h3:not(:first-child) { margin-top: 24px; }
.royalis-wiki-skill-description { margin: 0 0 12px; font-size: .9rem; line-height: 1.68; }
.royalis-wiki-effect-notes,
.royalis-wiki-skill-notes ul {
    margin: 10px 0 0;
    padding-left: 21px;
}
.royalis-wiki-effect-notes li,
.royalis-wiki-skill-notes li { margin: 6px 0; line-height: 1.55; }
.royalis-wiki-skill-infobox {
    overflow: hidden;
    border: 1px solid #c9c9c9;
    background: #fff;
    box-shadow: 0 4px 12px rgba(38, 44, 41, .06);
}
.royalis-wiki-skill-infobox-title {
    display: flex;
    min-height: 38px;
    padding: 7px 10px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: #dc9a25;
    color: #17130b;
    text-align: center;
}
.royalis-wiki-infobox-icon,
.royalis-wiki-skill-infobox-title .royalis-wiki-skill-placeholder {
    width: 25px;
    height: 25px;
    padding: 2px;
    border: 1px solid rgba(255,255,255,.58);
    border-radius: 4px;
    background: #192757;
    object-fit: contain;
    image-rendering: pixelated;
}
.royalis-wiki-skill-infobox-title .royalis-wiki-skill-placeholder {
    display: inline-grid;
    place-items: center;
    color: #f1d482;
    font-size: .65rem;
}
.royalis-wiki-skill-infobox-rows { margin: 0; }
.royalis-wiki-skill-infobox-rows > div {
    display: grid;
    grid-template-columns: 42% 58%;
    border-bottom: 1px solid #d5d5d5;
}
.royalis-wiki-skill-infobox-rows dt,
.royalis-wiki-skill-infobox-rows dd {
    margin: 0;
    padding: 7px 8px;
    font-size: .73rem;
    line-height: 1.4;
}
.royalis-wiki-skill-infobox-rows dt {
    border-right: 1px solid #d5d5d5;
    background: #f3f3f3;
    color: #202a24;
    font-weight: 850;
}
.royalis-wiki-skill-infobox-rows dd { color: #2f3732; overflow-wrap: anywhere; }
.royalis-wiki-skill-prereq-title {
    padding: 7px 9px;
    background: #dc9a25;
    color: #17130b;
    font-size: .73rem;
    font-weight: 900;
    text-align: center;
}
.royalis-wiki-skill-prereq { padding: 9px 10px; color: #27352d; font-size: .76rem; line-height: 1.45; }
.royalis-wiki-level-table-wrap {
    overflow-x: auto;
    border: 1px solid #cfd5d1;
    background: #fff;
}
.royalis-wiki-article-body table.royalis-wiki-level-table {
    width: 100%;
    min-width: 0;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    border-radius: 0;
}
.royalis-wiki-level-table th {
    padding: 9px 10px;
    border-right: 1px solid #cfd5d1;
    border-bottom: 1px solid #cfd5d1;
    background: #f1f3f2;
    color: #27382f;
    font-size: .72rem;
    text-align: center;
}
.royalis-wiki-level-table td {
    padding: 8px 10px;
    border-right: 1px solid #d8ddda;
    border-bottom: 1px solid #d8ddda;
    color: #313a35;
    font-size: .75rem;
    line-height: 1.45;
    vertical-align: middle;
}
.royalis-wiki-level-table td code {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.royalis-wiki-level-table th:first-child,
.royalis-wiki-level-table td:first-child {
    width: 48px;
    text-align: center;
}
.royalis-wiki-level-table tr:last-child td { border-bottom: 0; }
.royalis-wiki-level-table th:last-child,
.royalis-wiki-level-table td:last-child { border-right: 0; }
.royalis-wiki-formula-list { display: grid; gap: 10px; margin-top: 18px; }
.royalis-wiki-formula-box {
    display: grid;
    gap: 5px;
    padding: 11px 13px;
    border: 1px solid #ccd3d0;
    border-radius: 7px;
    background: #eef1f0;
}
.royalis-wiki-formula-box span {
    color: #64716a;
    font-size: .63rem;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.royalis-wiki-formula-box code {
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1f2823;
    font-size: .75rem;
    line-height: 1.55;
    white-space: normal;
    overflow-wrap: anywhere;
}
.royalis-wiki-source-notes {
    margin: 28px 0 0;
    border: 1px solid #d6ddd8;
    border-radius: 10px;
    background: #fafbfa;
}
.royalis-wiki-source-notes summary {
    padding: 12px 14px;
    color: #43544a;
    font-weight: 850;
    cursor: pointer;
}
.royalis-wiki-source-notes > div { padding: 0 16px 14px; }
.royalis-wiki-empty-skill-reference {
    margin: 22px 0;
    padding: 20px;
    border: 1px solid #d6dfd8;
    border-radius: 13px;
    background: #f6f9f6;
}
.royalis-wiki-empty-skill-reference h2 { margin-top: 0 !important; }
.royalis-wiki-feature-glyph {
    overflow: hidden;
    padding: 5px;
}
.royalis-wiki-feature-glyph > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    image-rendering: pixelated;
}
.royalis-wiki-feature-glyph.is-dual {
    width: 92px;
    height: 58px;
    padding: 4px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px;
}
.royalis-wiki-feature-glyph.is-dual > span {
    display: grid;
    min-width: 0;
    place-items: center;
    gap: 1px;
}
.royalis-wiki-feature-glyph.is-dual img {
    width: 36px;
    height: 33px;
    object-fit: contain;
    image-rendering: pixelated;
}
.royalis-wiki-feature-glyph.is-dual small {
    color: inherit;
    font-size: .48rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}
.royalis-wiki-feature-card:has(.royalis-wiki-feature-glyph.is-dual) {
    grid-template-columns: 92px minmax(0,1fr);
}
@media (max-width: 980px) {
    .royalis-wiki-skill-layout { grid-template-columns: minmax(0, 1fr) 250px; gap: 17px; }
}
@media (max-width: 760px) {
    .royalis-wiki-skill-layout { grid-template-columns: 1fr; padding: 15px; }
    .royalis-wiki-skill-infobox { grid-row: 1; }
    .royalis-wiki-article-body .royalis-wiki-skill-card > h2 { padding: 12px 15px; font-size: 1.16rem; }
}


/* Wiki article compact item/layout helpers for Spin and Battle Pass */
.royalis-wiki-quicklinks{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 8px}
.royalis-wiki-quicklinks a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 13px;border:1px solid var(--wiki-line);border-radius:999px;background:#f5f7f3;color:var(--wiki-green-dark);font-size:.76rem;font-weight:800;text-decoration:none}
.royalis-wiki-quicklinks a:hover{background:#edf3ed;text-decoration:none}
.royalis-wiki-step-grid,.royalis-wiki-two-col-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.royalis-wiki-step-card{padding:18px;border:1px solid var(--wiki-line);border-radius:20px;background:rgba(255,255,255,.78)}
.royalis-wiki-step-card span{display:grid;place-items:center;width:34px;height:34px;margin-bottom:12px;border-radius:12px;background:#edf4ed;color:var(--wiki-green-dark);font:700 1rem/1 Georgia,serif}
.royalis-wiki-step-card h3{margin:0 0 6px;color:var(--wiki-green-dark);font:700 1.02rem/1.25 Georgia,serif}
.royalis-wiki-step-card p{margin:0;color:var(--wiki-muted);font-size:.84rem;line-height:1.55}
.royalis-wiki-item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0 20px}
.royalis-wiki-item-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:center;padding:16px;border:1px solid var(--wiki-line);border-radius:20px;background:rgba(255,255,255,.78)}
.royalis-wiki-item-card img{width:42px;height:42px;image-rendering:pixelated}
.royalis-wiki-item-card strong{display:block;margin-bottom:5px;color:var(--wiki-green-dark);font:700 1rem/1.2 Georgia,serif}
.royalis-wiki-item-card strong small{color:#8d9496;font:700 .73rem/1.2 Arial,sans-serif}
.royalis-wiki-item-card p{margin:0;color:var(--wiki-muted);font-size:.81rem;line-height:1.5}
.royalis-wiki-loot-list,.royalis-wiki-plain-list{margin:0;padding:0;list-style:none}
.royalis-wiki-loot-list{display:grid;gap:9px}
.royalis-wiki-loot-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--wiki-line);border-radius:14px;background:rgba(255,255,255,.68);font-size:.84rem;line-height:1.45}
.royalis-wiki-loot-list strong{white-space:nowrap;color:var(--wiki-green-dark)}
.royalis-wiki-plain-list{display:grid;gap:8px}
.royalis-wiki-plain-list li{padding:10px 12px;border:1px solid var(--wiki-line);border-radius:14px;background:rgba(255,255,255,.68);font-size:.84rem;line-height:1.45}
.royalis-wiki-compact-note{margin-top:10px;color:var(--wiki-muted);font-size:.79rem;line-height:1.55}
@media (max-width: 860px){
  .royalis-wiki-step-grid,.royalis-wiki-two-col-grid,.royalis-wiki-item-grid{grid-template-columns:minmax(0,1fr)}
}


/* ==========================================================================\n   Royalis July 30, 2026 — unified front page, account portal, and guide cards\n   ========================================================================== */
.royalis-language-control { display:inline-flex; align-items:center; gap:7px; min-height:42px; padding:0 11px; border:1px solid rgba(255,255,255,.18); border-radius:13px; color:#fff; background:rgba(8,24,63,.28); }
.royalis-language-control select { width:auto; min-width:105px; padding:0 22px 0 0; border:0; color:#fff; background:transparent; box-shadow:none; font:inherit; font-size:.78rem; }
.royalis-language-control option { color:#15284c; background:#fff; }

body.module-account.action-create .royalis-submenu,
body.module-account.action-login .royalis-submenu { margin-bottom:18px; }
body.module-account.action-create .royalis-page-shell,
body.module-account.action-login .royalis-page-shell { width:100%; }
.royalis-auth-stage { width:min(1320px,calc(100vw - 36px)); margin:14px auto 60px; display:grid; grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr); gap:28px; align-items:stretch; }
.royalis-auth-showcase { position:relative; overflow:hidden; min-height:650px; padding:52px; border:1px solid rgba(255,220,130,.25); border-radius:30px; color:#fff; background:radial-gradient(circle at 80% 16%,rgba(76,221,247,.28),transparent 22rem),linear-gradient(145deg,rgba(7,23,62,.98),rgba(11,48,100,.96)); box-shadow:0 30px 80px rgba(7,27,70,.2); }
.royalis-auth-showcase::after { content:""; position:absolute; right:-150px; bottom:-170px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle,rgba(255,207,100,.22),transparent 65%); }
.royalis-auth-logo { width:min(330px,82%); margin:10px 0 10px; }
.royalis-auth-logo img { width:100%; height:auto; }
.royalis-auth-kicker { color:#62e4fa; font-size:.72rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.royalis-auth-showcase h1 { max-width:620px; margin:8px 0 16px; color:#fff; font:700 clamp(2.25rem,4.5vw,4.4rem)/.98 Georgia,serif; }
.royalis-auth-showcase > p { max-width:630px; color:rgba(232,243,255,.78); font-size:1rem; line-height:1.7; }
.royalis-auth-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:30px 0; }
.royalis-auth-facts span { display:grid; gap:6px; padding:15px; border:1px solid rgba(255,255,255,.13); border-radius:15px; background:rgba(255,255,255,.07); }
.royalis-auth-facts small { color:#8ceeff; font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; }
.royalis-auth-facts strong { color:#fff; font-size:.86rem; }
.royalis-auth-benefits { display:grid; gap:11px; margin:0; padding:0; list-style:none; color:rgba(231,240,255,.76); font-size:.88rem; }
.royalis-auth-benefits li { position:relative; padding-left:24px; }
.royalis-auth-benefits li::before { content:"✦"; position:absolute; left:0; color:#ffd678; }
.royalis-auth-discord { display:inline-flex; margin-top:22px; color:#ffdc82; font-weight:800; }
.royalis-auth-card { padding:42px; border:1px solid rgba(255,255,255,.92); border-radius:30px; background:rgba(255,255,255,.91); box-shadow:0 24px 72px rgba(22,55,111,.13); backdrop-filter:blur(18px); }
.royalis-auth-card-head { margin-bottom:26px; }
.royalis-auth-card-head > span { color:#2e82b6; font-size:.7rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.royalis-auth-card-head h2 { margin:6px 0 8px; color:#102b5d; font:700 clamp(1.9rem,3vw,2.8rem)/1.05 Georgia,serif; }
.royalis-auth-card-head p { margin:0; color:#73819b; }
.royalis-auth-card-head a { color:#176eac; font-weight:800; }
.royalis-auth-alert { margin:0 0 20px; padding:13px 15px; border:1px solid rgba(192,65,74,.2); border-radius:13px; color:#8b2630; background:#fff0f1; font-weight:700; }
.royalis-auth-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.royalis-field { display:grid; gap:7px; min-width:0; }
.royalis-field > span:first-child,
.royalis-birthdate > span:first-child,
.royalis-captcha-field > strong { color:#30476e; font-size:.73rem; font-weight:850; letter-spacing:.04em; }
.royalis-field input,
.royalis-field select,
.royalis-captcha-field > input { width:100%; min-height:49px; padding:0 14px; border:1px solid rgba(28,73,139,.16); border-radius:13px; color:#15284d; background:#f4f8fe; box-shadow:none; }
.royalis-field input:focus,
.royalis-field select:focus,
.royalis-captcha-field > input:focus { outline:3px solid rgba(69,207,238,.18); border-color:rgba(25,115,178,.5); background:#fff; }
.royalis-field-full { grid-column:1/-1; }
.royalis-password-wrap { position:relative; display:block; }
.royalis-password-wrap input { padding-right:67px; }
.royalis-password-wrap button { position:absolute; right:6px; top:6px; min-height:37px; padding:0 11px; border:0; border-radius:9px; color:#176aa7; background:#e6f2ff; font-weight:800; font-size:.72rem; }
.royalis-fieldset { min-width:0; margin:0; padding:12px 14px; border:1px solid rgba(28,73,139,.14); border-radius:13px; background:#f7faff; }
.royalis-fieldset legend { padding:0 4px; color:#30476e; font-size:.73rem; font-weight:850; }
.royalis-fieldset label { display:inline-flex; gap:7px; align-items:center; margin-right:18px; color:#4b5d7c; }
.royalis-fieldset input { width:auto; min-height:auto; }
.royalis-birthdate select { width:auto; min-width:85px; margin-right:5px; }
.royalis-password-rules { padding:15px 17px; border-radius:15px; background:linear-gradient(135deg,#edf7ff,#f9fbff); }
.royalis-password-rules strong { color:#163b71; }
.royalis-password-rules ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 18px; margin:10px 0 0; padding-left:18px; color:#667693; font-size:.75rem; }
.royalis-captcha-field { display:grid; gap:9px; }
.royalis-security-code { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.royalis-security-code img { max-width:220px; border-radius:10px; }
.royalis-security-code button { min-height:38px; padding:0 12px; border:0; border-radius:10px; color:#176aa7; background:#e8f3ff; font-weight:800; }
.royalis-terms { display:flex; align-items:flex-start; gap:9px; color:#64738e; font-size:.8rem; }
.royalis-terms input { width:auto; min-height:auto; margin-top:3px; }
.royalis-auth-submit { display:flex; align-items:center; justify-content:space-between; min-height:54px; padding:0 20px; border:0; border-radius:14px; color:#08183f; background:linear-gradient(135deg,#f8d273,#d99b2b); box-shadow:0 15px 30px rgba(198,137,35,.25); font-weight:900; }
.royalis-login-card { align-self:center; }
.royalis-login-form { grid-template-columns:1fr; }
.royalis-login-links { display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-size:.76rem; }
.royalis-login-links a { color:#3975aa; font-weight:750; }

.royalis-front-page { width:min(1420px,calc(100vw - 36px)); margin:14px auto 64px; }
.royalis-front-hero { position:relative; min-height:650px; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.04fr) minmax(340px,.72fr); align-items:center; padding:58px 58px 160px; border:1px solid rgba(255,215,115,.22); border-radius:32px; color:#fff; background:radial-gradient(circle at 75% 30%,rgba(65,223,250,.22),transparent 27rem),linear-gradient(120deg,rgba(5,20,55,.98),rgba(9,51,105,.96)); box-shadow:0 32px 90px rgba(8,35,83,.22); }
.royalis-front-hero::before { content:""; position:absolute; inset:0; opacity:.23; background:url('../img/hero-royalis.jpg') center/cover; mix-blend-mode:screen; }
.royalis-front-hero-glow { position:absolute; width:500px; height:500px; right:12%; top:8%; border-radius:50%; background:radial-gradient(circle,rgba(255,207,89,.22),transparent 67%); }
.royalis-front-copy { position:relative; z-index:2; max-width:740px; }
.royalis-front-kicker { color:#65e7ff; font-size:.76rem; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.royalis-front-copy h1 { margin:12px 0 20px; color:#fff; font:700 clamp(3rem,6.5vw,6.2rem)/.9 Georgia,serif; letter-spacing:-.04em; }
.royalis-front-copy > p { max-width:690px; color:rgba(236,244,255,.82); font-size:1.05rem; line-height:1.72; }
.royalis-front-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:27px; }
.royalis-front-art { position:relative; z-index:1; align-self:end; height:520px; }
.royalis-front-art img { position:absolute; right:-50px; bottom:-112px; width:620px; max-width:none; filter:drop-shadow(0 28px 45px rgba(0,0,0,.36)); }
.royalis-front-summary { position:absolute; z-index:3; left:34px; right:34px; bottom:30px; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin:0; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(5,20,52,.76); backdrop-filter:blur(16px); }
.royalis-front-summary div { min-width:0; padding:16px; border-right:1px solid rgba(255,255,255,.1); }
.royalis-front-summary div:last-child { border-right:0; }
.royalis-front-summary dt { margin-bottom:5px; color:#75e8ff; font-size:.61rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.royalis-front-summary dd { margin:0; color:#fff; font-size:.76rem; line-height:1.4; }
.royalis-front-section { margin-top:34px; padding:31px; border:1px solid rgba(255,255,255,.9); border-radius:27px; background:rgba(255,255,255,.77); box-shadow:0 22px 60px rgba(24,57,108,.09); }
.royalis-front-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:20px; }
.royalis-front-heading span { color:#2d83b7; font-size:.7rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.royalis-front-heading h2 { margin:5px 0 0; color:#102c5c; font:700 clamp(1.75rem,3vw,2.65rem)/1.05 Georgia,serif; }
.royalis-front-heading > p { max-width:540px; margin:0; color:#6c7b94; }
.royalis-front-heading > a { color:#176ea9; font-weight:850; }
.royalis-highlight-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:13px; }
.royalis-highlight-grid article { padding:19px; border:1px solid rgba(25,68,128,.12); border-radius:18px; background:linear-gradient(145deg,#f8fbff,#eef5ff); }
.royalis-highlight-grid article > span { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; color:#15396a; background:linear-gradient(135deg,#ffe39b,#eab04b); font-size:1.15rem; }
.royalis-highlight-grid h3 { margin:14px 0 7px; color:#193968; font-size:.92rem; }
.royalis-highlight-grid p { margin:0; color:#6c7990; font-size:.74rem; line-height:1.5; }
.royalis-front-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.royalis-front-guide-grid > a { position:relative; min-height:285px; overflow:hidden; border-radius:21px; background:#08183f; }
.royalis-front-guide-grid img { width:100%; height:100%; min-height:285px; object-fit:cover; transition:transform .35s ease; }
.royalis-front-guide-grid > a::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 25%,rgba(4,15,42,.96)); }
.royalis-front-guide-grid > a > span { position:absolute; z-index:2; left:20px; right:20px; bottom:18px; display:grid; gap:6px; color:#fff; }
.royalis-front-guide-grid small { color:#6de8ff; font-weight:800; }
.royalis-front-guide-grid strong { font:700 1.35rem/1.1 Georgia,serif; }
.royalis-front-guide-grid b { color:#ffdc82; font-size:.75rem; }
.royalis-front-guide-grid > a:hover img { transform:scale(1.04); }
.royalis-front-rules-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:18px; padding:0; border:0; background:transparent; box-shadow:none; }
.royalis-front-rules-grid > article { padding:31px; border:1px solid rgba(255,255,255,.9); border-radius:27px; background:rgba(255,255,255,.79); box-shadow:0 22px 60px rgba(24,57,108,.09); }
.royalis-front-rules-grid article > span,
.royalis-front-connect > span { color:#2d83b7; font-size:.69rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.royalis-front-rules-grid h2,
.royalis-front-connect h2 { margin:6px 0 14px; color:#102c5c; font:700 2rem/1.05 Georgia,serif; }
.royalis-front-party > div { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:18px; }
.royalis-front-party > div span { display:grid; gap:4px; padding:12px; border-radius:13px; background:#edf5ff; }
.royalis-front-party small { color:#2877aa; font-size:.7rem; }
.royalis-front-guild dl { display:grid; gap:8px; }
.royalis-front-guild dl div { display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid rgba(24,64,120,.1); }
.royalis-front-guild dt { color:#6c7990; }
.royalis-front-guild dd { margin:0; color:#183c70; font-weight:850; text-align:right; }
.royalis-front-bottom { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr); gap:22px; }
.royalis-front-news-list { display:grid; gap:10px; }
.royalis-front-news-list article { padding:16px; border:1px solid rgba(25,68,128,.1); border-radius:15px; background:#f7faff; }
.royalis-front-news-list time { color:#2c83b7; font-size:.67rem; font-weight:850; }
.royalis-front-news-list h3 { margin:6px 0; color:#193968; }
.royalis-front-news-list p { margin:0; color:#707e96; font-size:.8rem; }
.royalis-front-connect { padding:23px; border-radius:20px; color:#fff; background:linear-gradient(145deg,#091d4c,#0a4b7d); }
.royalis-front-connect h2 { color:#fff; }
.royalis-front-connect a { display:grid; gap:3px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.12); color:#fff; }
.royalis-front-connect a:last-child { border-bottom:0; }
.royalis-front-connect small { color:rgba(223,241,255,.66); }

.royalis-server-info-hero { width:var(--royalis-shell); margin:0 auto; padding:42px; border-radius:28px; color:#fff; background:radial-gradient(circle at 80% 20%,rgba(69,221,247,.24),transparent 24rem),linear-gradient(135deg,#081a47,#0c4d82); box-shadow:var(--royalis-shadow); }
.royalis-server-info-hero h1 { margin:8px 0 12px; color:#fff; font:700 clamp(2.5rem,5vw,4.5rem)/.98 Georgia,serif; }
.royalis-server-info-hero > p { max-width:800px; color:rgba(235,244,255,.8); }
.royalis-server-info-hero dl { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; margin:25px 0 0; }
.royalis-server-info-hero dl div { padding:13px; border:1px solid rgba(255,255,255,.12); border-radius:13px; background:rgba(255,255,255,.07); }
.royalis-server-info-hero dt { color:#76e9ff; font-size:.61rem; font-weight:900; text-transform:uppercase; }
.royalis-server-info-hero dd { margin:5px 0 0; font-size:.76rem; }
.royalis-server-info-grid { width:var(--royalis-shell); margin:22px auto; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.royalis-server-info-grid article { padding:26px; border:1px solid rgba(255,255,255,.9); border-radius:22px; background:rgba(255,255,255,.78); box-shadow:0 18px 45px rgba(24,57,108,.08); }
.royalis-server-info-grid article > span { color:#2d83b7; font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.royalis-server-info-grid h2 { color:#123161; }
.royalis-server-info-grid ul { display:grid; gap:8px; padding:0; list-style:none; }
.royalis-server-info-grid li { display:flex; justify-content:space-between; gap:18px; padding:10px 0; border-bottom:1px solid rgba(24,64,120,.1); }
.royalis-server-info-grid li span { color:#2876a9; text-align:right; }

.royalis-wiki-dungeon-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.royalis-wiki-dungeon-grid > a { position:relative; min-height:390px; overflow:hidden; border-radius:25px; background:#08183f; box-shadow:0 22px 55px rgba(19,49,104,.17); }
.royalis-wiki-dungeon-grid img { width:100%; height:100%; min-height:390px; object-fit:cover; transition:transform .35s ease; }
.royalis-wiki-dungeon-shade { position:absolute; inset:0; background:linear-gradient(180deg,transparent 25%,rgba(5,17,49,.96)); }
.royalis-wiki-dungeon-grid > a > div { position:absolute; z-index:2; left:25px; right:25px; bottom:24px; color:#fff; }
.royalis-wiki-dungeon-grid small { color:#68e6ff; font-weight:850; }
.royalis-wiki-dungeon-grid h3 { margin:7px 0 8px; color:#fff; font:700 1.75rem/1.05 Georgia,serif; }
.royalis-wiki-dungeon-grid p { margin:0 0 13px; color:rgba(233,242,255,.76); }
.royalis-wiki-dungeon-grid strong { color:#ffdb7d; }
.royalis-wiki-dungeon-grid > a:hover img { transform:scale(1.04); }
.royalis-wiki-item-rule-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.royalis-wiki-item-rule-grid > a { display:grid; grid-template-columns:68px minmax(0,1fr); gap:17px; padding:24px; border:1px solid rgba(28,73,139,.12); border-radius:21px; background:linear-gradient(145deg,#fff,#eef5ff); }
.royalis-wiki-item-rule-grid > a > span { display:grid; place-items:center; width:64px; height:64px; border-radius:19px; color:#132f62; background:linear-gradient(135deg,#ffe19a,#dd9e35); font-size:1.45rem; }
.royalis-wiki-item-rule-grid small { color:#2c83b7; font-weight:850; text-transform:uppercase; }
.royalis-wiki-item-rule-grid h3 { margin:5px 0 7px; color:#163563; font:700 1.35rem/1.1 Georgia,serif; }
.royalis-wiki-item-rule-grid p { margin:0 0 10px; color:#6f7c91; }
.royalis-wiki-item-rule-grid strong { color:#176da9; }
.royalis-wiki-guide-banner { position:relative; min-height:360px; overflow:hidden; display:flex; align-items:end; margin:0 -10px 28px; padding:40px; border-radius:25px; color:#fff; background:#091d4d; }
.royalis-wiki-guide-banner::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,13,38,.08),rgba(4,15,43,.97)),var(--guide-image) center/cover; }
.royalis-wiki-guide-banner > div { position:relative; z-index:1; max-width:760px; }
.royalis-wiki-guide-banner span { color:#6ce9ff; font-size:.7rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.royalis-wiki-guide-banner h2 { margin:8px 0 12px!important; padding:0!important; border:0!important; color:#fff!important; font-size:clamp(2.2rem,5vw,4.3rem)!important; }
.royalis-wiki-guide-banner p { margin:0; color:rgba(235,244,255,.8); font-size:1rem; }
.royalis-wiki-guide-banner-server { --guide-image:url('../img/hero-royalis.jpg'); }
.royalis-wiki-guide-banner-items { background:linear-gradient(135deg,#0b2d67,#145a87); }
.royalis-wiki-guide-banner-items::before { background:radial-gradient(circle at 80% 20%,rgba(78,225,248,.25),transparent 25rem); }
.royalis-wiki-guide-banner-mvp { background:linear-gradient(135deg,#2a0d31,#711c45); }
.royalis-wiki-guide-banner-mvp::before { background:radial-gradient(circle at 80% 20%,rgba(255,200,96,.22),transparent 24rem); }
.royalis-wiki-source-strip { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:center; margin:0 0 26px; padding:14px 16px; border:1px solid rgba(24,104,168,.14); border-radius:15px; background:#eef7ff; color:#60728c; font-size:.78rem; }
.royalis-wiki-source-strip strong { color:#174a7c; }
.royalis-wiki-source-strip a { font-weight:850; white-space:nowrap; }
.royalis-wiki-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:22px 0; }
.royalis-wiki-stat-grid > div { display:grid; gap:5px; padding:15px; border:1px solid rgba(25,83,145,.12); border-radius:15px; background:#f3f8ff; }
.royalis-wiki-stat-grid small { color:#2a80b5; font-weight:850; text-transform:uppercase; }
.royalis-wiki-stat-grid strong { color:#173d70; }
.royalis-wiki-guide-map { margin:25px 0; }
.royalis-wiki-guide-map img { display:block; width:100%; max-height:620px; object-fit:contain; background:#eef5ff; }
.royalis-wiki-guide-map figcaption { margin-top:8px; color:#778397; font-size:.75rem; text-align:center; }
.royalis-wiki-steps { display:grid; gap:11px; margin:0; padding:0; list-style:none; counter-reset:guide-step; }
.royalis-wiki-steps li { position:relative; display:grid; gap:5px; padding:17px 17px 17px 58px; border:1px solid rgba(24,84,145,.11); border-radius:16px; background:#f8fbff; counter-increment:guide-step; }
.royalis-wiki-steps li::before { content:counter(guide-step); position:absolute; left:15px; top:15px; display:grid; place-items:center; width:31px; height:31px; border-radius:10px; color:#102f60; background:linear-gradient(135deg,#ffe39a,#e5a83e); font-weight:900; }
.royalis-wiki-steps strong { color:#153d72; }
.royalis-wiki-steps span { color:#66758d; }
.royalis-wiki-quest-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.royalis-wiki-quest-grid article { padding:17px; border:1px solid rgba(24,84,145,.11); border-radius:17px; background:linear-gradient(145deg,#fff,#eff6ff); }
.royalis-wiki-quest-grid article > span { color:#2d83b7; font-size:.64rem; font-weight:900; text-transform:uppercase; }
.royalis-wiki-quest-grid h3 { margin:7px 0!important; color:#173d70!important; }
.royalis-wiki-quest-grid p { color:#6d7990; }
.royalis-wiki-quest-grid strong { color:#b0711c; font-size:.76rem; }
.royalis-wiki-feature-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.royalis-wiki-feature-list article { padding:15px; border:1px solid rgba(24,84,145,.1); border-radius:15px; background:#f7faff; }
.royalis-wiki-feature-list p { margin:5px 0 0; color:#6c7990; }

@media (max-width:1150px) {
    .royalis-highlight-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .royalis-front-summary,
    .royalis-server-info-hero dl { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .royalis-front-summary div:nth-child(3) { border-right:0; }
    .royalis-auth-stage { grid-template-columns:1fr; }
    .royalis-auth-showcase { min-height:auto; }
}
@media (max-width:900px) {
    .royalis-front-hero { grid-template-columns:1fr; padding-bottom:320px; }
    .royalis-front-art { position:absolute; right:0; bottom:100px; opacity:.58; }
    .royalis-front-guide-grid,
    .royalis-front-rules-grid,
    .royalis-front-bottom,
    .royalis-wiki-dungeon-grid { grid-template-columns:1fr; }
    .royalis-front-party > div { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .royalis-language-control { order:-1; }
}
@media (max-width:680px) {
    .royalis-auth-stage,
    .royalis-front-page { width:min(100vw - 20px,100%); }
    .royalis-auth-showcase,
    .royalis-auth-card,
    .royalis-front-section { padding:23px; border-radius:21px; }
    .royalis-auth-form { grid-template-columns:1fr; }
    .royalis-field-full { grid-column:auto; }
    .royalis-auth-facts,
    .royalis-password-rules ul,
    .royalis-highlight-grid,
    .royalis-front-summary,
    .royalis-server-info-hero dl,
    .royalis-server-info-grid,
    .royalis-wiki-stat-grid,
    .royalis-wiki-quest-grid,
    .royalis-wiki-feature-list,
    .royalis-wiki-item-rule-grid { grid-template-columns:1fr; }
    .royalis-front-hero { padding:34px 24px 530px; }
    .royalis-front-copy h1 { font-size:3.2rem; }
    .royalis-front-art { bottom:120px; right:50%; transform:translateX(50%); }
    .royalis-front-art img { right:50%; transform:translateX(50%); width:520px; }
    .royalis-front-summary { left:16px; right:16px; bottom:16px; }
    .royalis-front-summary div { border-right:0; border-bottom:1px solid rgba(255,255,255,.1); }
    .royalis-front-summary div:last-child { border-bottom:0; }
    .royalis-front-heading { align-items:flex-start; flex-direction:column; }
    .royalis-server-info-hero { width:min(100vw - 20px,100%); padding:24px; }
    .royalis-server-info-grid { width:min(100vw - 20px,100%); grid-template-columns:1fr; }
    .royalis-wiki-source-strip { grid-template-columns:1fr; }
    .royalis-wiki-guide-banner { min-height:420px; padding:25px; }
}


/* Royalis pre-launch and full server-information additions — 2026-07-30 */
.royalis-button-disabled,.royalis-nav-disabled{cursor:not-allowed;pointer-events:none;opacity:.72;filter:saturate(.7)}
.royalis-nav-disabled{display:inline-flex;align-items:center;padding:12px 8px;color:rgba(225,238,255,.62);font-size:.74rem;font-weight:800;white-space:nowrap}
.royalis-footer-disabled{color:rgba(218,232,255,.52)}
.royalis-coming-soon-stage{align-items:stretch}
.royalis-coming-soon-card{display:flex;flex-direction:column;justify-content:center;gap:18px}
.royalis-coming-soon-card h2{margin:0;color:#143667;font:700 clamp(2rem,4vw,3.2rem)/1.04 Georgia,serif}
.royalis-coming-soon-card>p{margin:0;color:#68768d;font-size:1rem;line-height:1.75}
.royalis-coming-soon-badge{display:inline-flex;align-items:center;align-self:flex-start;padding:8px 12px;border:1px solid rgba(176,113,28,.2);border-radius:999px;color:#8b5914;background:#fff2c8;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.royalis-coming-soon-list{display:grid;gap:8px;margin:4px 0}
.royalis-coming-soon-list>div{display:flex;justify-content:space-between;gap:20px;padding:13px 15px;border:1px solid rgba(22,75,137,.11);border-radius:13px;background:#f4f8ff}
.royalis-coming-soon-list strong{color:#173d70}.royalis-coming-soon-list span{color:#ad711f;font-weight:850}
.royalis-text-link{color:#1a78ad;font-weight:850}
.royalis-simple-coming-soon{width:min(920px,calc(100vw - 30px));margin:0 auto;padding:58px;border:1px solid rgba(255,255,255,.9);border-radius:30px;background:radial-gradient(circle at 85% 10%,rgba(76,218,242,.18),transparent 22rem),#fff;box-shadow:var(--royalis-shadow);text-align:center}
.royalis-simple-coming-soon .royalis-coming-soon-badge{margin:15px auto;align-self:auto}.royalis-simple-coming-soon h1{margin:8px 0 15px;color:#143667;font:700 clamp(2.4rem,5vw,4.2rem)/1 Georgia,serif}.royalis-simple-coming-soon p{max-width:680px;margin:0 auto 24px;color:#68768d;line-height:1.75}
.royalis-server-launch-strip{width:var(--royalis-shell);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px auto 24px}
.royalis-server-launch-strip>div{display:grid;gap:5px;padding:17px;border:1px solid rgba(25,83,145,.12);border-radius:16px;background:linear-gradient(145deg,#fff,#eef5ff);box-shadow:0 12px 32px rgba(24,57,108,.06)}
.royalis-server-launch-strip small{color:#2b82b6;font-size:.63rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.royalis-server-launch-strip strong{color:#a96a17}
.royalis-server-section-heading{margin-top:34px}
.royalis-server-highlight-grid{width:var(--royalis-shell);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 auto 24px}
.royalis-server-highlight-grid article{display:grid;grid-template-columns:52px minmax(0,1fr);gap:15px;padding:20px;border:1px solid rgba(24,80,142,.1);border-radius:18px;background:rgba(255,255,255,.82);box-shadow:0 16px 38px rgba(24,57,108,.06)}
.royalis-server-highlight-grid article>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;color:#153766;background:linear-gradient(135deg,#ffe29a,#dba03b);font-size:1.2rem;font-weight:900}.royalis-server-highlight-grid h3{margin:0 0 6px;color:#173b6d}.royalis-server-highlight-grid p{margin:0;color:#6b788d;line-height:1.6}
.royalis-server-details-grid{margin-top:0}
.royalis-server-connect-panel{width:var(--royalis-shell);display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;margin:22px auto 0;padding:34px;border-radius:26px;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(69,221,247,.22),transparent 22rem),linear-gradient(135deg,#081a47,#0d4e82);box-shadow:var(--royalis-shadow)}
.royalis-server-connect-panel h2{margin:8px 0 12px;color:#fff}.royalis-server-connect-panel p{color:rgba(235,244,255,.75);line-height:1.7}.royalis-server-connect-links{display:grid;gap:8px}.royalis-server-connect-links a{display:flex;justify-content:space-between;gap:18px;padding:14px 15px;border:1px solid rgba(255,255,255,.11);border-radius:13px;background:rgba(255,255,255,.07)}.royalis-server-connect-links strong{color:#fff}.royalis-server-connect-links span{color:#70e7fa;text-align:right;font-size:.75rem}
.royalis-download-intro{text-align:center;padding:12px 0 24px}.royalis-download-intro .royalis-coming-soon-badge{margin:10px auto}.royalis-download-intro h2{margin:10px 0!important;color:#153867!important}.royalis-download-intro p{max-width:760px;margin:0 auto;color:#6b788d}
.royalis-download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.royalis-download-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:15px;padding:22px;border:1px solid rgba(25,83,145,.12);border-radius:19px;background:linear-gradient(145deg,#fff,#eef5ff);box-shadow:0 15px 34px rgba(24,57,108,.06)}.royalis-download-card>span{display:grid;place-items:center;width:56px;height:56px;border-radius:17px;color:#123867;background:linear-gradient(135deg,#78e6f5,#d8f9ff);font-weight:950}.royalis-download-card small{color:#2b82b6;font-size:.62rem;font-weight:900;text-transform:uppercase}.royalis-download-card strong{display:block;margin:4px 0;color:#173d70;font-size:1.15rem}.royalis-download-card p{margin:0 0 9px;color:#6c7990}.royalis-download-card b{color:#ad711f;font-size:.72rem}.royalis-download-card.is-disabled{cursor:not-allowed;opacity:.82}
.royalis-download-note{padding:18px;border-left:4px solid #d8a23d;border-radius:8px 15px 15px 8px;background:#fff8df}.royalis-download-note strong{color:#7d5318}.royalis-download-note p{margin:5px 0 0;color:#71684f}
.royalis-rarity{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.68rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.royalis-rarity-common{color:#475569;background:#e7edf4}.royalis-rarity-uncommon{color:#176137;background:#dff6e9}.royalis-rarity-rare{color:#164f8a;background:#dceeff}.royalis-rarity-ultra{color:#7d3b13;background:#ffe2b3}
.royalis-wiki-guide-banner-spin{background:linear-gradient(135deg,#26103c,#773669)}.royalis-wiki-guide-banner-spin::before{background:radial-gradient(circle at 80% 20%,rgba(255,208,91,.25),transparent 25rem)}
@media(max-width:900px){.royalis-server-launch-strip,.royalis-server-highlight-grid,.royalis-server-connect-panel,.royalis-download-grid{grid-template-columns:1fr}.royalis-server-connect-links a{flex-direction:column}.royalis-server-connect-links span{text-align:left}}
@media(max-width:680px){.royalis-server-launch-strip,.royalis-server-highlight-grid,.royalis-server-connect-panel{width:min(100vw - 20px,100%)}.royalis-simple-coming-soon{padding:30px 22px}.royalis-download-card{grid-template-columns:1fr}.royalis-server-connect-panel{padding:24px}}


/* Royalis pre-launch presentation refinement — 2026-07-30 final */
.royalis-disabled-action{position:relative;cursor:not-allowed;pointer-events:auto!important}
.royalis-disabled-action::after{content:attr(data-tooltip);position:absolute;z-index:9999;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,6px);min-width:max-content;max-width:210px;padding:7px 10px;border:1px solid rgba(255,219,128,.34);border-radius:8px;color:#fff;background:#07183f;box-shadow:0 12px 32px rgba(0,0,0,.28);font-size:.68rem;font-weight:800;line-height:1.2;letter-spacing:.02em;opacity:0;visibility:hidden;transition:.18s ease;white-space:nowrap}
.royalis-disabled-action::before{content:"";position:absolute;z-index:10000;left:50%;bottom:calc(100% + 5px);width:8px;height:8px;transform:translateX(-50%) rotate(45deg);background:#07183f;opacity:0;visibility:hidden;transition:.18s ease}
.royalis-disabled-action:hover::after,.royalis-disabled-action:focus-visible::after,.royalis-disabled-action:hover::before,.royalis-disabled-action:focus-visible::before{opacity:1;visibility:visible;transform:translate(-50%,0)}
.royalis-disabled-action:hover::before,.royalis-disabled-action:focus-visible::before{transform:translateX(-50%) rotate(45deg)}
.royalis-nav-link.royalis-disabled-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 2px;color:rgba(239,246,255,.72);font-size:.92rem;font-weight:720;white-space:nowrap;background:transparent;border:0}
.royalis-header-actions .royalis-disabled-action{display:inline-flex;align-items:center;justify-content:center;opacity:1;filter:none}
.royalis-front-actions .royalis-disabled-action{padding:13px 20px;border-radius:12px}
.royalis-highlight-grid-art{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.royalis-highlight-grid-art article{display:flex;flex-direction:column;align-items:flex-start;min-height:280px;padding:22px;border:1px solid rgba(28,78,143,.13);border-radius:22px;background:linear-gradient(180deg,#f7fbff,#edf4ff);box-shadow:0 14px 30px rgba(26,65,119,.06)}
.royalis-highlight-grid-art article>span.royalis-feature-icon{display:grid;place-items:center;align-self:center;width:96px;height:96px;margin:0 auto 12px;background:transparent;border-radius:0;overflow:hidden}
.royalis-feature-icon img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 9px 10px rgba(20,54,103,.16))}
.royalis-highlight-grid-art h3{margin:5px 0 8px;color:#14366d;font-size:.93rem;line-height:1.3}
.royalis-highlight-grid-art p{margin:0;color:#697b98;font-size:.78rem;line-height:1.55}
.royalis-front-connect-wide{display:grid;grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr);align-items:center;gap:32px;color:#fff;background:linear-gradient(135deg,#071a47,#0d4b7d);border-color:rgba(255,215,115,.16)}
.royalis-front-connect-wide>div:first-child>span{color:#69e3fb;font-size:.69rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.royalis-front-connect-wide h2{margin:7px 0 11px;color:#fff;font:700 2.2rem/1.05 Georgia,serif}
.royalis-front-connect-wide p{margin:0;color:rgba(235,244,255,.72);line-height:1.7}
.royalis-connect-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.royalis-connect-cards>a,.royalis-connect-cards>button{display:grid;gap:4px;min-height:90px;padding:17px;border:1px solid rgba(255,255,255,.12);border-radius:16px;color:#fff;background:rgba(255,255,255,.06);text-decoration:none}
.royalis-connect-cards>a:hover{background:rgba(255,255,255,.11);transform:translateY(-2px)}
.royalis-connect-cards small{color:rgba(226,241,255,.66);font-size:.71rem;line-height:1.4}
.royalis-connect-disabled{width:100%}
.royalis-site-footer button.royalis-footer-disabled{padding:0;color:rgba(228,239,255,.52);background:none;border:0}
.royalis-server-info-hero-clean{padding-bottom:36px}
.royalis-server-core-grid article{min-height:100%}
.royalis-server-party-wide ul{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.royalis-server-party-wide li{display:grid;gap:4px;padding:12px;border:0;border-radius:12px;background:#edf5ff}
.royalis-server-highlight-grid-art article>span.royalis-feature-icon{display:grid;place-items:center;align-self:center;flex:0 0 78px;width:78px;height:78px;background:transparent;border-radius:0;overflow:hidden}
.royalis-server-connect-panel-clean{grid-template-columns:.8fr 1.2fr}
.royalis-server-connect-panel-clean .royalis-server-connect-links{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){.royalis-highlight-grid-art{grid-template-columns:repeat(2,minmax(0,1fr))}.royalis-connect-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.royalis-server-party-wide ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.royalis-front-connect-wide{grid-template-columns:1fr}.royalis-highlight-grid-art,.royalis-connect-cards{grid-template-columns:1fr}.royalis-server-party-wide ul{grid-template-columns:1fr}.royalis-server-connect-panel-clean,.royalis-server-connect-panel-clean .royalis-server-connect-links{grid-template-columns:1fr}.royalis-disabled-action::after,.royalis-disabled-action::before{display:none}}


/* Royalis launch notification */
.royalis-launch-notice{position:fixed;z-index:10020;right:22px;bottom:22px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:min(470px,calc(100vw - 32px));padding:16px 18px;border:1px solid rgba(255,216,116,.34);border-radius:18px;color:#fff;background:radial-gradient(circle at 12% 20%,rgba(87,220,247,.16),transparent 180px),linear-gradient(145deg,rgba(7,23,61,.98),rgba(12,61,108,.98));box-shadow:0 22px 60px rgba(2,13,39,.38);backdrop-filter:blur(16px);animation:royalisNoticeIn .42s ease both}
.royalis-launch-notice[hidden]{display:none}
.royalis-launch-notice-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,229,159,.48);border-radius:14px;color:#153461;background:linear-gradient(135deg,#fff0bd,#dda842);font-size:1.15rem;font-weight:950;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.royalis-launch-notice-copy{min-width:0}
.royalis-launch-notice-copy strong{display:block;margin-bottom:3px;color:#fff;font:700 1rem/1.2 Georgia,"Times New Roman",serif}
.royalis-launch-notice-copy span{display:block;color:rgba(232,243,255,.76);font-size:.77rem;line-height:1.45}
.royalis-launch-notice-copy a{color:#7eeaff;font-weight:850;text-decoration:none}
.royalis-launch-notice-copy a:hover{color:#fff;text-decoration:underline}
.royalis-launch-notice-close{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:rgba(255,255,255,.72);background:rgba(255,255,255,.06);font-size:1rem;line-height:1;cursor:pointer}
.royalis-launch-notice-close:hover{color:#fff;background:rgba(255,255,255,.12)}
@keyframes royalisNoticeIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:680px){.royalis-launch-notice{right:12px;bottom:12px;width:calc(100vw - 24px);grid-template-columns:auto minmax(0,1fr) auto;padding:14px}.royalis-launch-notice-icon{width:40px;height:40px}.royalis-launch-notice-copy span{font-size:.72rem}}

/* Royalis rankings overhaul — 2026-08-19 */
.royalis-ranking-header{position:relative;overflow:hidden;padding:30px 34px;border:1px solid rgba(112,217,247,.22);border-radius:24px;color:#fff;background:radial-gradient(circle at 86% 0,rgba(100,227,249,.24),transparent 25rem),linear-gradient(135deg,#071943,#0d477b);box-shadow:0 20px 54px rgba(7,31,76,.18)}
.royalis-ranking-header h1{margin:6px 0 8px;color:#fff;font:700 clamp(2rem,4vw,3.25rem)/1.05 Georgia,"Times New Roman",serif}.royalis-ranking-header p{max-width:720px;margin:0;color:rgba(232,244,255,.74);line-height:1.65}.royalis-ranking-header .royalis-section-label{color:#78eaff}
.royalis-ranking-legend{display:flex;align-items:center;flex-wrap:wrap;gap:9px;width:var(--royalis-shell);margin:14px auto;padding:13px 16px;border:1px solid rgba(30,89,153,.12);border-radius:15px;color:#61728e;background:rgba(255,255,255,.88);box-shadow:0 10px 30px rgba(25,61,111,.06)}.royalis-ranking-legend strong{margin-right:5px;color:#153b70}.royalis-ranking-legend>span:not(.royalis-stat-badge){font-size:.78rem;font-weight:750}
.royalis-stat-badge{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:.69rem;font-weight:900}.royalis-stat-badge.is-mvp{color:#793b19;background:#ffe0a5}.royalis-stat-badge.is-sealed{color:#653b83;background:#eedcff}.royalis-stat-badge.is-mini{color:#176475;background:#d9f5f5}
.royalis-ranking-panel{width:var(--royalis-shell);margin:15px auto 0;padding:0!important;overflow:hidden;border:1px solid rgba(29,82,145,.12)!important;border-radius:22px!important;background:#fff!important;box-shadow:0 20px 52px rgba(20,53,103,.1)!important}
.royalis-ranking-filter{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:15px 18px;border-bottom:1px solid rgba(25,78,139,.11);background:#f5f9ff}.royalis-ranking-filter label{color:#183f73;font-size:.76rem;font-weight:900}.royalis-ranking-filter select{min-width:180px;padding:9px 34px 9px 11px;border:1px solid #cad9eb;border-radius:10px;color:#233e68;background:#fff}.royalis-ranking-filter button,.royalis-ranking-filter a{padding:9px 13px;border:1px solid #1c76aa;border-radius:10px;color:#fff;background:#176d9f;font-size:.75rem;font-weight:850;text-decoration:none}.royalis-ranking-filter a{border-color:#d4dfed;color:#355170;background:#fff}
.royalis-ranking-table-wrap{max-width:100%;overflow-x:auto;outline:none}.royalis-ranking-table-wrap:focus-visible{box-shadow:inset 0 0 0 3px #57cbe7}.royalis-ranking-table{width:100%;min-width:760px;border:0;border-collapse:separate;border-spacing:0;color:#44536b;font-size:.79rem}.royalis-ranking-table th,.royalis-ranking-table td{padding:14px 16px;border:0;border-bottom:1px solid #e7eef7;text-align:left;vertical-align:middle;white-space:nowrap}.royalis-ranking-table thead th{color:#dcecff;background:#0b2856;font-size:.67rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.royalis-ranking-table tbody tr{background:#fff;transition:background-color .18s ease}.royalis-ranking-table tbody tr:hover{background:#f2f8ff}.royalis-ranking-table tbody tr:last-child>*{border-bottom:0}.royalis-ranking-table a{color:#155f96;font-weight:850;text-decoration:none}.royalis-ranking-table a:hover{text-decoration:underline}.royalis-name-cell strong{color:#173f74;font-size:.86rem}.royalis-rank-cell{width:68px;color:#64748b;text-align:center!important;font-weight:950}.royalis-score{display:block;color:#a66816;font-size:.9rem}.royalis-stat-stack{display:flex;gap:5px;margin-top:5px}.royalis-stat-stack small{padding:3px 6px;border-radius:999px;color:#53647c;background:#eaf1f9;font-size:.58rem;font-weight:850}.royalis-guild-cell{display:inline-flex;align-items:center;gap:8px}.royalis-guild-emblem{width:24px;height:24px;object-fit:contain;image-rendering:auto}.royalis-muted{color:#98a5b7;font-style:italic}.royalis-kills{color:#087c78!important;font-weight:900}.royalis-deaths{color:#a34854!important;font-weight:900}
.royalis-ranking-table tr.royalis-rank-one{position:relative;background:linear-gradient(90deg,rgba(255,235,171,.66),rgba(255,250,231,.78) 42%,#fff)}.royalis-ranking-table tr.royalis-rank-one:hover{background:linear-gradient(90deg,rgba(255,226,128,.78),rgba(255,248,218,.88) 48%,#fff)}.royalis-ranking-table tr.royalis-rank-one>*{border-bottom-color:#edcf7c}.royalis-rank-crown{display:inline-grid;place-items:center;margin-right:7px;color:#b67314;font-size:1.22rem;filter:drop-shadow(0 2px 5px rgba(190,122,19,.34));animation:royalisCrownAura 2.4s ease-in-out infinite}.royalis-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.royalis-ranking-empty{display:grid;gap:5px;place-items:center;padding:58px 24px;color:#78869a;text-align:center}.royalis-ranking-empty strong{color:#173e72;font:700 1.25rem Georgia,"Times New Roman",serif}
@keyframes royalisCrownAura{0%,100%{transform:translateY(0) scale(1);text-shadow:0 0 0 rgba(236,179,61,0)}50%{transform:translateY(-2px) scale(1.08);text-shadow:0 0 14px rgba(236,179,61,.72)}}
@media(max-width:760px){.royalis-ranking-header{width:100%;padding:24px 20px}.royalis-ranking-legend,.royalis-ranking-panel{width:100%}.royalis-ranking-table th,.royalis-ranking-table td{padding:12px 13px}.royalis-stat-stack{flex-wrap:wrap}.royalis-ranking-filter{align-items:stretch}.royalis-ranking-filter label{width:100%}.royalis-ranking-filter select{flex:1}}
@media(prefers-reduced-motion:reduce){.royalis-rank-crown{animation:none}.royalis-ranking-table tbody tr{transition:none}}


/* Royalis 2026 live-config homepage / server-info enhancement */
.royalis-home-v2{--rv2-navy:#071a3e;--rv2-blue:#1267a4;--rv2-cyan:#57d7ec;--rv2-gold:#d9a83d;--rv2-ink:#18365f;--rv2-muted:#667891;--rv2-paper:#f7fbff}
.royalis-home-v2-hero{min-height:690px;background:radial-gradient(circle at 77% 17%,rgba(93,221,244,.2),transparent 30rem),radial-gradient(circle at 20% 80%,rgba(223,177,75,.12),transparent 26rem),linear-gradient(135deg,#071739 0%,#0a3364 58%,#0d5982 100%)}
.royalis-home-v2-hero .royalis-front-copy{max-width:690px;z-index:3}
.royalis-home-v2-hero .royalis-front-copy h1{max-width:680px;font-size:clamp(2.75rem,5.8vw,5.35rem);line-height:.96;letter-spacing:-.045em}
.royalis-home-v2-hero .royalis-front-copy>p{max-width:650px;font-size:1rem;line-height:1.78}
.royalis-v2-rate-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:660px;margin-top:22px}
.royalis-v2-rate-row span{display:grid;gap:3px;padding:11px 12px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px)}
.royalis-v2-rate-row small{color:rgba(229,243,255,.68);font-size:.61rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.royalis-v2-rate-row strong{color:#fff3bf;font:800 1.07rem/1.1 Georgia,"Times New Roman",serif}
.royalis-v2-live-strip{position:relative;z-index:4;display:grid;grid-template-columns:minmax(220px,.95fr) minmax(450px,1.8fr) auto;align-items:center;gap:20px;width:var(--royalis-shell);margin:-30px auto 30px;padding:18px 22px;border:1px solid rgba(42,105,166,.14);border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 18px 50px rgba(9,43,88,.13)}
.royalis-v2-live-strip>div{display:grid;gap:2px}.royalis-v2-live-strip>div span{color:#2789a7;font-size:.66rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.royalis-v2-live-strip>div strong{color:#183e70;font:700 1.02rem/1.25 Georgia,"Times New Roman",serif}
.royalis-v2-live-strip ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.royalis-v2-live-strip li{display:grid;gap:2px;padding:8px 10px;border-left:1px solid #dce8f5}.royalis-v2-live-strip li b{color:#b17b1f;font-size:1rem}.royalis-v2-live-strip li span{color:#71829a;font-size:.67rem}.royalis-v2-live-strip>a{color:#14648f;font-size:.74rem;font-weight:900;text-decoration:none;white-space:nowrap}
.royalis-v2-section{width:var(--royalis-shell);margin:26px auto 0;padding:34px;border:1px solid rgba(30,84,144,.11);border-radius:25px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 16px 46px rgba(17,57,105,.07)}
.royalis-v2-section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}.royalis-v2-section-heading>div span,.royalis-v2-feature-panel>div>span,.royalis-v2-instance-card>span,.royalis-v2-koe-copy>span{color:#208ca7;font-size:.69rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.royalis-v2-section-heading h2,.royalis-v2-feature-panel h2,.royalis-v2-koe h2{margin:6px 0 0;color:#143c70;font:700 clamp(1.85rem,3vw,2.8rem)/1.06 Georgia,"Times New Roman",serif}.royalis-v2-section-heading>p{max-width:520px;margin:0;color:#6a7a91;font-size:.83rem;line-height:1.65;text-align:right}
.royalis-v2-episode-track{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.royalis-v2-episode-track:before{content:"";position:absolute;left:6%;right:6%;top:30px;height:2px;background:linear-gradient(90deg,#b7ddeb,#d2b463);z-index:0}.royalis-v2-episode-track article{position:relative;z-index:1;display:grid;align-content:start;gap:7px;min-height:160px;padding:18px;border:1px solid #dfeaf5;border-radius:17px;background:#f8fbff}.royalis-v2-episode-track article small{display:grid;place-items:center;width:47px;height:30px;border:1px solid #c7deef;border-radius:999px;color:#246b92;background:#fff;font-weight:950}.royalis-v2-episode-track article strong{color:#183e70;font-size:.86rem}.royalis-v2-episode-track article span{color:#6f8198;font-size:.7rem;line-height:1.5}.royalis-v2-episode-track article.is-current{border-color:#e4c572;background:linear-gradient(145deg,#fffaf0,#f6fbff);box-shadow:0 12px 28px rgba(197,145,43,.12)}.royalis-v2-episode-track article.is-current small{border-color:#ddb85b;color:#7b5414;background:#fff3c9}
.royalis-v2-inline-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.royalis-v2-inline-actions a{padding:9px 12px;border:1px solid #d7e4f1;border-radius:10px;color:#17668f;background:#fff;font-size:.72rem;font-weight:850;text-decoration:none}.royalis-v2-inline-actions a:hover{border-color:#88cce0;background:#f4fcff}
.royalis-v2-loop-section{background:radial-gradient(circle at 100% 0,rgba(71,211,233,.08),transparent 30rem),#fff}.royalis-v2-loop{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:8px}.royalis-v2-loop article{position:relative;padding:20px 18px 17px;border:1px solid #d9e6f3;border-radius:18px;background:linear-gradient(160deg,#fff,#f5faff)}.royalis-v2-loop article i{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;color:#0f5a80;background:#dff5fa;font-size:.66rem;font-style:normal;font-weight:950}.royalis-v2-loop h3{margin:13px 0 8px;color:#163e71;font:700 1.08rem Georgia,"Times New Roman",serif}.royalis-v2-loop p{margin:0;color:#718096;font-size:.72rem;line-height:1.58}.royalis-v2-loop article>strong{display:block;margin-top:13px;color:#a36c17;font-size:.64rem;text-transform:uppercase;letter-spacing:.07em}.royalis-v2-loop-arrow{align-self:center;color:#70b7cd;font-size:1.3rem;font-weight:950}
.royalis-v2-economy-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.royalis-v2-economy-cards article{padding:19px 20px;border:1px solid rgba(201,159,63,.25);border-radius:17px;background:linear-gradient(135deg,#fffaf0,#f7fbff)}.royalis-v2-economy-cards span{color:#a87925;font-size:.65rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.royalis-v2-economy-cards h3{margin:5px 0 8px;color:#183e70;font:700 1.1rem Georgia,"Times New Roman",serif}.royalis-v2-economy-cards p{margin:0;color:#6c7d93;font-size:.73rem;line-height:1.6}
.royalis-v2-dual-feature{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:0;border:0;background:none;box-shadow:none}.royalis-v2-feature-panel{position:relative;overflow:hidden;padding:30px;border:1px solid rgba(255,255,255,.14);border-radius:24px;color:#fff;box-shadow:0 18px 48px rgba(7,35,74,.16)}.royalis-v2-feature-panel:before{content:"";position:absolute;inset:auto -70px -100px auto;width:280px;height:280px;border:1px solid rgba(255,255,255,.1);border-radius:50%}.royalis-v2-feature-panel.is-battlepass{background:radial-gradient(circle at 90% 12%,rgba(255,215,105,.2),transparent 18rem),linear-gradient(135deg,#0b214c,#123f78)}.royalis-v2-feature-panel.is-blessing{background:radial-gradient(circle at 88% 10%,rgba(91,224,241,.23),transparent 18rem),linear-gradient(135deg,#08344f,#0b6d75)}.royalis-v2-feature-panel>div>span{color:#79e5f2}.royalis-v2-feature-panel h2{color:#fff}.royalis-v2-feature-panel>div>p{max-width:620px;color:rgba(236,247,255,.73);line-height:1.65}.royalis-v2-feature-panel ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:22px 0 14px;padding:0;list-style:none}.royalis-v2-feature-panel li{display:grid;gap:3px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.06)}.royalis-v2-feature-panel li b{color:#fff2bc;font-size:.92rem}.royalis-v2-feature-panel li span{color:rgba(232,244,255,.67);font-size:.65rem}.royalis-v2-panel-note{color:rgba(236,247,255,.72);font-size:.73rem;line-height:1.62}.royalis-v2-feature-panel>a{position:relative;z-index:1;display:inline-block;margin-top:6px;color:#82edfa;font-size:.75rem;font-weight:900;text-decoration:none}
.royalis-v2-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.royalis-v2-system-grid article{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center;padding:20px;border:1px solid #dce7f2;border-radius:18px;background:#fff}.royalis-v2-system-grid .royalis-feature-icon{display:grid;place-items:center;width:76px;height:76px}.royalis-v2-system-grid .royalis-feature-icon img{max-width:76px;max-height:76px;object-fit:contain}.royalis-v2-system-grid small{color:#2590a8;font-size:.63rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.royalis-v2-system-grid h3{margin:4px 0 7px;color:#153d70;font:700 1.05rem Georgia,"Times New Roman",serif}.royalis-v2-system-grid p{margin:0;color:#728198;font-size:.72rem;line-height:1.55}.royalis-v2-system-grid a{display:inline-block;margin-top:10px;color:#12648f;font-size:.7rem;font-weight:900;text-decoration:none}
.royalis-v2-party-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.royalis-v2-party-table{overflow:hidden;border:1px solid #d9e5f1;border-radius:18px;background:#fff}.royalis-v2-party-table>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 16px;border-bottom:1px solid #e6edf5}.royalis-v2-party-table>div:first-child{color:#dbeeff;background:#0d315f;font-size:.67rem;text-transform:uppercase;letter-spacing:.06em}.royalis-v2-party-table>div span{color:#536b88;font-size:.74rem}.royalis-v2-party-table>div b{color:#0d788c;font-size:.74rem}.royalis-v2-party-table>p{margin:0;padding:14px 16px;color:#718096;background:#f7fbff;font-size:.68rem}.royalis-v2-instance-card{padding:24px;border:1px solid #d6e6f2;border-radius:18px;background:radial-gradient(circle at 100% 0,rgba(75,203,226,.14),transparent 17rem),linear-gradient(145deg,#f4fbff,#fff)}.royalis-v2-instance-card h3{margin:6px 0 9px;color:#183e70;font:700 1.35rem/1.1 Georgia,"Times New Roman",serif}.royalis-v2-instance-card p{color:#6f8198;font-size:.75rem;line-height:1.65}.royalis-v2-instance-card a{color:#12648f;font-size:.72rem;font-weight:900;text-decoration:none}
.royalis-v2-koe{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;overflow:hidden;color:#fff;background:radial-gradient(circle at 78% 20%,rgba(232,190,77,.21),transparent 20rem),linear-gradient(135deg,#071934,#152b5d 58%,#3d3155)}.royalis-v2-koe-copy{padding:10px 0}.royalis-v2-koe-copy>span{color:#e9c86c}.royalis-v2-koe h2{max-width:760px;color:#fff}.royalis-v2-koe p{max-width:700px;color:rgba(234,243,255,.73);line-height:1.7}.royalis-v2-koe>img{justify-self:end;max-width:270px;max-height:270px;object-fit:contain;filter:drop-shadow(0 18px 25px rgba(0,0,0,.24))}.royalis-v2-koe-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:19px 0}.royalis-v2-koe-rewards span{padding:11px 12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.06);font-size:.69rem}.royalis-v2-koe-rewards b{color:#ffeab0;font-size:.95rem}.royalis-v2-koe-rewards small{color:rgba(236,244,255,.58)}
.royalis-v2-highlight-heading{margin-top:34px}.royalis-v2-highlight-grid .royalis-highlight-card-art{min-height:205px}.royalis-v2-highlight-grid .royalis-highlight-card-art small{color:#2a8ca4;font-size:.61rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.royalis-v2-final-cta{margin-top:30px}

/* Server information v2 */
.royalis-v2-info-hero{background:radial-gradient(circle at 92% 10%,rgba(86,218,239,.18),transparent 28rem),linear-gradient(135deg,#071b43,#0e4777)}
.royalis-v2-info-hero>p{max-width:800px}.royalis-v2-info-rate-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:23px 0}.royalis-v2-info-rate-grid div{display:grid;gap:3px;padding:12px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.06)}.royalis-v2-info-rate-grid span{color:rgba(232,244,255,.64);font-size:.61rem;font-weight:850;text-transform:uppercase}.royalis-v2-info-rate-grid strong{color:#ffedb2;font-size:1rem}
.royalis-v2-info-section{width:var(--royalis-shell);margin:18px auto 0;padding:28px;border:1px solid rgba(28,82,143,.11);border-radius:22px;background:#fff;box-shadow:0 13px 35px rgba(18,57,105,.06)}
.royalis-v2-info-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.royalis-v2-info-table>div{display:grid;grid-template-columns:1fr auto;gap:5px 15px;padding:15px 16px;border:1px solid #e0e9f3;border-radius:14px;background:#f9fcff}.royalis-v2-info-table strong{color:#23436c;font-size:.75rem}.royalis-v2-info-table span{color:#a66e17;font-size:.76rem;font-weight:900;text-align:right}.royalis-v2-info-table small{grid-column:1/-1;color:#7a899e;font-size:.65rem;line-height:1.45}.royalis-v2-info-episodes{margin-top:5px}.royalis-v2-party-bonus-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.royalis-v2-party-bonus-grid div{display:grid;gap:4px;padding:14px;border:1px solid #dce8f3;border-radius:13px;background:#f5faff}.royalis-v2-party-bonus-grid strong{color:#24466f;font-size:.72rem}.royalis-v2-party-bonus-grid span{color:#078596;font-size:.69rem;font-weight:900}.royalis-v2-info-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.royalis-v2-info-facts article{padding:17px;border:1px solid #dce7f2;border-radius:15px;background:#f8fbff}.royalis-v2-info-facts article>span{display:block;color:#b7791f;font:800 1.35rem Georgia,"Times New Roman",serif}.royalis-v2-info-facts strong{display:block;margin:5px 0;color:#1c416f;font-size:.74rem}.royalis-v2-info-facts p{margin:0;color:#73839a;font-size:.66rem;line-height:1.5}.royalis-v2-info-system-grid article{grid-template-columns:1fr}.royalis-v2-info-footer{margin-top:20px}

/* Wiki live-config snapshot */
.royalis-wiki-live-snapshot{display:grid;grid-template-columns:minmax(210px,.85fr) minmax(460px,2fr) auto;align-items:center;gap:18px;margin:15px 0 25px;padding:16px 18px;border:1px solid rgba(34,98,157,.14);border-radius:18px;background:linear-gradient(135deg,#fff,#f4fbff);box-shadow:0 12px 32px rgba(15,58,109,.08)}
.royalis-wiki-live-title{display:grid;gap:2px}.royalis-wiki-live-title span{color:#2292aa;font-size:.61rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.royalis-wiki-live-title strong{color:#173e6e;font:700 .93rem/1.25 Georgia,"Times New Roman",serif}.royalis-wiki-live-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.royalis-wiki-live-facts>span{display:grid;gap:2px;padding:7px 8px;border-left:1px solid #d9e7f3}.royalis-wiki-live-facts small{color:#8190a2;font-size:.55rem;font-weight:850;text-transform:uppercase}.royalis-wiki-live-facts b{color:#986817;font-size:.67rem}.royalis-wiki-live-snapshot>a{color:#14658f;font-size:.69rem;font-weight:900;text-decoration:none;white-space:nowrap}

@media(max-width:1180px){
.royalis-v2-live-strip,.royalis-wiki-live-snapshot{grid-template-columns:1fr}.royalis-v2-live-strip ul,.royalis-wiki-live-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.royalis-v2-episode-track{grid-template-columns:repeat(3,minmax(0,1fr))}.royalis-v2-episode-track:before{display:none}.royalis-v2-loop{grid-template-columns:1fr 1fr}.royalis-v2-loop-arrow{display:none}.royalis-v2-info-rate-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
.royalis-v2-rate-row{grid-template-columns:repeat(2,minmax(0,1fr))}.royalis-v2-dual-feature,.royalis-v2-party-layout,.royalis-v2-koe{grid-template-columns:1fr}.royalis-v2-koe>img{display:none}.royalis-v2-system-grid,.royalis-v2-info-table{grid-template-columns:1fr}.royalis-v2-party-bonus-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.royalis-v2-info-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
.royalis-home-v2-hero{min-height:0}.royalis-v2-section,.royalis-v2-info-section{padding:22px 17px}.royalis-v2-section-heading{display:grid;gap:8px}.royalis-v2-section-heading>p{text-align:left}.royalis-v2-live-strip{margin-top:12px}.royalis-v2-live-strip ul,.royalis-wiki-live-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.royalis-v2-episode-track,.royalis-v2-loop,.royalis-v2-economy-cards{grid-template-columns:1fr}.royalis-v2-feature-panel{padding:23px 19px}.royalis-v2-feature-panel ul,.royalis-v2-koe-rewards{grid-template-columns:1fr}.royalis-v2-system-grid article{grid-template-columns:65px 1fr;padding:16px}.royalis-v2-system-grid .royalis-feature-icon,.royalis-v2-system-grid .royalis-feature-icon img{width:58px;height:58px;max-width:58px;max-height:58px}.royalis-v2-info-rate-grid,.royalis-v2-party-bonus-grid,.royalis-v2-info-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.royalis-v2-info-table>div{grid-template-columns:1fr}.royalis-v2-info-table span{text-align:left}.royalis-wiki-live-snapshot{padding:14px}.royalis-v2-final-cta{margin-top:20px}
}

.royalis-v2-activity-cards article>strong{display:block;margin-top:14px;color:#7d5b19;font-size:.82rem;letter-spacing:.02em}


/* Royalis player-facing homepage / server info / compact wiki */
.royalis-player-home,.royalis-player-info{width:min(1180px,calc(100% - 32px));margin:24px auto 48px;color:#23364d}.royalis-player-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);align-items:center;min-height:430px;padding:54px 58px;overflow:hidden;border:1px solid rgba(68,113,166,.18);border-radius:28px;background:linear-gradient(135deg,#f8fbff 0%,#eef6ff 58%,#fff8e8 100%);box-shadow:0 22px 60px rgba(34,72,119,.11)}.royalis-player-hero-copy{position:relative;z-index:2}.royalis-player-hero-copy>span,.royalis-player-info-head>span,.royalis-player-section-head span,.royalis-player-wiki-head>span{color:#a87820;font-size:.76rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.royalis-player-hero h1{margin:10px 0 12px;color:#123861;font-size:clamp(2.5rem,5vw,4.8rem);line-height:.98}.royalis-player-hero p{max-width:650px;margin:0;color:#53657b;font-size:1.04rem;line-height:1.7}.royalis-player-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.royalis-player-hero-art{align-self:end;width:100%;height:auto;max-height:390px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 22px rgba(36,62,96,.14))}.royalis-player-rates{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin:18px 0 30px;overflow:hidden;border:1px solid rgba(68,113,166,.17);border-radius:18px;background:#dfe8f2}.royalis-player-rates>div{padding:17px 14px;text-align:center;background:#fff}.royalis-player-rates span{display:block;color:#77879a;font-size:.68rem;font-weight:750;text-transform:uppercase}.royalis-player-rates strong{display:block;margin-top:3px;color:#173e6d;font-size:1.35rem}.royalis-player-section{margin:32px 0}.royalis-player-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.royalis-player-section-head h2{margin:4px 0 0;color:#173e6d;font-size:1.55rem}.royalis-player-section-head>a{color:#256da8;font-weight:750}.royalis-player-feature-table-wrap{overflow-x:auto;border:1px solid rgba(68,113,166,.17);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(45,72,105,.06)}.royalis-player-feature-table{width:100%;border-collapse:collapse;min-width:690px}.royalis-player-feature-table th{padding:11px 15px;background:#eef5fc;color:#5c7188;font-size:.68rem;letter-spacing:.07em;text-align:left;text-transform:uppercase}.royalis-player-feature-table td{padding:14px 15px;border-top:1px solid #edf1f5;color:#4b5e73;vertical-align:middle}.royalis-player-feature-table td:first-child{color:#183e6b;font-weight:750}.royalis-player-feature-table td:last-child{text-align:right;white-space:nowrap}.royalis-player-feature-table a{color:#246da8;font-weight:750}.royalis-player-feature-name{display:flex;align-items:center;gap:11px}.royalis-player-feature-name img,.royalis-player-feature-name i{width:36px;height:36px;object-fit:contain}.royalis-player-feature-name i{display:grid;place-items:center;border-radius:9px;background:#edf5fd;color:#3878ad;font-style:normal}.royalis-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:850;white-space:nowrap}.royalis-status.available{background:#e8f7ef;color:#18734c}.royalis-status.coming{background:#fff3d9;color:#946310}.royalis-player-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.royalis-player-link-grid>a{display:flex;min-height:105px;flex-direction:column;justify-content:center;padding:20px;border:1px solid rgba(68,113,166,.16);border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(45,72,105,.05);transition:transform .15s ease,border-color .15s ease}.royalis-player-link-grid>a:hover{transform:translateY(-2px);border-color:rgba(40,111,170,.38)}.royalis-player-link-grid strong{color:#173e6d;font-size:1rem}.royalis-player-link-grid span{margin-top:4px;color:#708095;font-size:.82rem;line-height:1.45}.royalis-player-mini-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:14px;margin-top:34px;padding:23px;border-radius:20px;background:#f6f9fc;border:1px solid #e3eaf2}.royalis-player-mini-flow>div{display:grid;grid-template-columns:36px 1fr;column-gap:10px;align-items:center}.royalis-player-mini-flow>div>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#173e6d;color:white;font-weight:850}.royalis-player-mini-flow strong{color:#173e6d}.royalis-player-mini-flow small{color:#708095}.royalis-player-mini-flow>b{color:#b6c1cd}.royalis-player-info-head{text-align:center;padding:26px 0 10px}.royalis-player-info-head h1{margin:7px 0 5px;color:#173e6d;font-size:clamp(2rem,4vw,3.25rem)}.royalis-player-info-head p{margin:0;color:#708095}.royalis-player-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.royalis-player-info-grid>section{padding:22px;border:1px solid rgba(68,113,166,.16);border-radius:18px;background:#fff}.royalis-player-info-grid h2{margin:0 0 13px;color:#173e6d;font-size:1.25rem}.royalis-player-simple-table>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-top:1px solid #edf1f5}.royalis-player-simple-table>div:first-child{border-top:0}.royalis-player-simple-table span{color:#708095}.royalis-player-simple-table strong{color:#294866;text-align:right}.royalis-player-command-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.royalis-player-command-grid>div{padding:15px;border:1px solid #e0e8f0;border-radius:14px;background:#fff}.royalis-player-command-grid code{display:block;color:#174c7b;font-weight:850}.royalis-player-command-grid span{display:block;margin-top:4px;color:#748399;font-size:.75rem}.module-wiki .royalis-player-wiki-head{padding:28px 30px;border:1px solid var(--wiki-line);border-radius:20px;background:linear-gradient(135deg,#f8fbff,#eff6fc)}.module-wiki .royalis-player-wiki-head h1{margin:6px 0;color:#173e6d;font-size:2.45rem}.module-wiki .royalis-player-wiki-head p{max-width:690px;margin:0;color:#65778d}.module-wiki .royalis-player-wiki-search{display:flex;max-width:700px;margin-top:18px;overflow:hidden;border:1px solid #cbd9e6;border-radius:12px;background:#fff}.module-wiki .royalis-player-wiki-search input{flex:1;min-width:0;padding:12px 14px;border:0;background:transparent}.module-wiki .royalis-player-wiki-search button{border:0;padding:0 18px;background:#1b5f95;color:#fff;font-weight:800}.module-wiki .royalis-player-wiki-status{margin-top:22px}.module-wiki .royalis-player-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.module-wiki .royalis-player-category-grid .royalis-wiki-card-count{display:none}.module-wiki .royalis-player-wiki-links{grid-template-columns:repeat(3,minmax(0,1fr))}.module-wiki .royalis-player-feature-intro{display:flex;align-items:center;gap:18px;margin:5px 0 20px;padding:16px 18px;border:1px solid var(--wiki-line);border-radius:16px;background:#f9fbfd}.module-wiki .royalis-player-feature-intro.compact{padding:12px 16px}.module-wiki .royalis-player-feature-icon{flex:0 0 66px;display:grid;place-items:center;width:66px;height:66px;border-radius:14px;background:#fff;border:1px solid #e2eaf2}.module-wiki .royalis-player-feature-icon img{max-width:52px;max-height:52px;image-rendering:auto}.module-wiki .royalis-player-feature-intro h2{margin:0 0 4px}.module-wiki .royalis-player-feature-intro p{margin:0}.module-wiki .royalis-player-pass-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 24px}.module-wiki .royalis-player-pass-grid article{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--wiki-line);border-radius:13px;background:#fff}.module-wiki .royalis-player-pass-grid img{width:42px;height:42px;object-fit:contain}.module-wiki .royalis-player-item-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:10px 0 26px}.module-wiki .royalis-player-item-card{display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 10px;align-items:center;padding:10px;border:1px solid var(--wiki-line);border-radius:12px;background:#fff}.module-wiki .royalis-player-item-card img{grid-row:1/3;width:48px;height:48px;object-fit:contain}.module-wiki .royalis-player-item-card strong{color:#24496e;font-size:.78rem;line-height:1.25}.module-wiki .royalis-player-item-card span{color:#9a722c;font-size:.69rem;font-weight:750}.module-wiki .royalis-player-shop-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:24px}.module-wiki .royalis-player-shop-heading small{color:#8a98a9;font-size:.7rem;font-weight:650}.module-wiki .royalis-player-currency-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 24px}.module-wiki .royalis-player-currency-row article{text-align:center;padding:14px;border:1px solid var(--wiki-line);border-radius:14px;background:#fff}.module-wiki .royalis-player-currency-row img{display:block;width:48px;height:48px;margin:0 auto 6px;object-fit:contain}.module-wiki .royalis-player-currency-row strong,.module-wiki .royalis-player-currency-row span{display:block}.module-wiki .royalis-player-currency-row strong{color:#24496e}.module-wiki .royalis-player-currency-row span{margin-top:3px;color:#78879a;font-size:.7rem}.module-wiki .royalis-coming-soon{text-align:center;padding:55px 24px;border:1px solid #ead9ac;border-radius:20px;background:linear-gradient(135deg,#fffdf7,#fff7e3)}.module-wiki .royalis-coming-soon>span{display:inline-block;padding:6px 11px;border-radius:999px;background:#fff0c6;color:#986814;font-weight:850;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.module-wiki .royalis-coming-soon h2{margin:13px 0 7px;color:#5f481f;font-size:2rem}.module-wiki .royalis-coming-soon p{max-width:620px;margin:0 auto;color:#796b50}.module-wiki .royalis-mvp-table-head,.module-wiki .royalis-mvp-table-row>summary{grid-template-columns:minmax(0,1fr) 160px}.module-wiki .royalis-mvp-table-id{display:none!important}
@media(max-width:900px){.royalis-player-rates{grid-template-columns:repeat(3,1fr)}.royalis-player-hero{grid-template-columns:1fr;padding:36px 30px}.royalis-player-hero-art{display:none}.royalis-player-link-grid,.module-wiki .royalis-player-wiki-links{grid-template-columns:repeat(2,1fr)}.royalis-player-info-grid{grid-template-columns:1fr}.royalis-player-command-grid{grid-template-columns:repeat(2,1fr)}.module-wiki .royalis-player-category-grid,.module-wiki .royalis-player-item-grid{grid-template-columns:repeat(2,1fr)}.module-wiki .royalis-player-currency-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.royalis-player-home,.royalis-player-info{width:min(100% - 18px,540px)}.royalis-player-rates{grid-template-columns:repeat(2,1fr)}.royalis-player-link-grid,.module-wiki .royalis-player-wiki-links{grid-template-columns:1fr}.royalis-player-mini-flow{grid-template-columns:1fr}.royalis-player-mini-flow>b{display:none}.royalis-player-command-grid{grid-template-columns:1fr}.module-wiki .royalis-player-category-grid,.module-wiki .royalis-player-item-grid,.module-wiki .royalis-player-pass-grid,.module-wiki .royalis-player-currency-row{grid-template-columns:1fr}.module-wiki .royalis-player-wiki-head{padding:22px 18px}}


/* Royalis account portal + resource item/status artwork polish — Aug 24, 2026 */
.royalis-register-stage{grid-template-columns:minmax(360px,.88fr) minmax(560px,1.12fr);align-items:start}
.royalis-register-stage .royalis-auth-showcase{min-height:620px}
.royalis-register-stage .royalis-auth-card{min-height:0}
.royalis-register-form{align-items:start}
.royalis-register-form .royalis-fieldset{min-height:72px;display:flex;align-items:center;flex-wrap:wrap;gap:4px 0}
.royalis-register-form .royalis-fieldset legend{width:100%;float:left;margin-bottom:5px}
.royalis-birthdate{display:grid;gap:7px}
.royalis-birthdate-controls{display:grid;grid-template-columns:1.1fr .72fr .72fr;gap:9px}
.royalis-birthdate-controls select{width:100%!important;min-width:0!important;min-height:49px;margin:0!important;padding:0 12px;border:1px solid rgba(28,73,139,.16);border-radius:13px;color:#15284d;background:#f4f8fe;box-shadow:none}
.royalis-register-links{margin-top:18px;padding-top:16px;border-top:1px solid #e9eef4;align-items:center}
.royalis-register-links>span{color:#7a899d}
.royalis-login-stage{grid-template-columns:minmax(390px,.92fr) minmax(430px,.82fr);justify-content:center;max-width:1120px}
.royalis-login-showcase{min-height:560px}
.royalis-login-card{width:100%;max-width:560px;justify-self:center;align-self:center;padding:44px}
.royalis-login-form{gap:15px}
.royalis-login-links{margin-top:17px;padding-top:15px;border-top:1px solid #e9eef4}
.royalis-auth-submit{width:100%;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.royalis-auth-submit:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(198,137,35,.3)}
.royalis-player-feature-name img{width:44px;height:44px;border-radius:10px}
.module-wiki .royalis-player-feature-icon img{max-width:58px;max-height:58px;border-radius:10px}
.royalis-party-status-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:14px 0 22px}
.royalis-party-status-grid figure{margin:0;padding:12px 8px;text-align:center;border:1px solid var(--wiki-line);border-radius:14px;background:#fff}
.royalis-party-status-grid img{display:block;width:72px;height:72px;object-fit:contain;margin:0 auto 8px}
.royalis-party-status-grid figcaption{color:#64758b;font-size:.72rem;line-height:1.35}.royalis-party-status-grid strong{color:#24496e}
/* Dynamic FluxCP inventory/storage images now come from itemInfo identifiedResourceName artwork. */
table.vertical-table td img,table.horizontal-table td img,.royalis-default-content table img{width:28px!important;height:28px!important;max-width:28px!important;object-fit:contain;image-rendering:auto;vertical-align:middle}
@media(max-width:1150px){.royalis-register-stage,.royalis-login-stage{grid-template-columns:1fr;max-width:860px}.royalis-register-stage .royalis-auth-showcase,.royalis-login-showcase{min-height:auto}.royalis-login-card{max-width:none}}
@media(max-width:760px){.royalis-birthdate-controls{grid-template-columns:1fr}.royalis-party-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* 2026-08-24 registration date cleanup */
.royalis-birthdate-field input[type="date"]{
    width:100%;min-height:49px;padding:0 14px;border:1px solid rgba(28,73,139,.16);
    border-radius:13px;color:#15284d;background:#f4f8fe;box-shadow:none;
    font:inherit;color-scheme:light;
}
.royalis-birthdate-field input[type="date"]:focus{
    outline:none;border-color:rgba(37,111,206,.46);box-shadow:0 0 0 3px rgba(37,111,206,.08);
}


/* 2026-08-24 wiki feature status icons */
.royalis-feature-name-with-icon { display:inline-flex; align-items:center; gap:10px; }
.royalis-feature-name-with-icon > img { width:32px; height:32px; object-fit:contain; image-rendering:auto; flex:0 0 32px; }


/* Royalis mobile drawer + account performance pass — Aug 24, 2026 */
body.royalis-account-lite .royalis-auth-card,
body.royalis-account-lite .royalis-auth-showcase,
body.royalis-account-lite .royalis-header {
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
}
body.royalis-account-lite .royalis-logo-shine::before,
body.royalis-account-lite .royalis-logo-shine::after {
    display:none!important;
    animation:none!important;
}
body.royalis-account-lite .royalis-auth-card { background:#fff; }
body.royalis-account-lite .royalis-auth-submit { transition:box-shadow .12s ease, transform .12s ease; }

@media (max-width:768px) {
    body.royalis-mobile-nav-open { overflow:hidden; touch-action:none; }
    .royalis-header, .royalis-header.is-scrolled {
        padding:7px 10px!important;
        backdrop-filter:none!important;
        -webkit-backdrop-filter:none!important;
    }
    .royalis-header-bar {
        width:100%!important;
        min-height:58px!important;
        grid-template-columns:minmax(0,1fr) 44px!important;
        gap:10px!important;
    }
    .royalis-brand { min-width:0!important; max-width:170px!important; justify-content:flex-start!important; }
    .royalis-header-logo { width:150px!important; max-width:100%!important; }
    .royalis-brand-episode { display:none!important; }
    .royalis-nav-toggle {
        display:flex!important;
        width:44px!important;
        height:44px!important;
        min-height:44px!important;
        padding:0!important;
        border-radius:13px!important;
        flex-direction:column!important;
        gap:4px!important;
        background:rgba(255,255,255,.08)!important;
        border:1px solid rgba(105,227,250,.25)!important;
        color:#fff!important;
    }
    .royalis-nav-toggle span:not(.royalis-nav-toggle-text) {
        display:block!important;
        width:18px!important;
        height:2px!important;
        margin:0!important;
        border-radius:2px!important;
        background:#fff!important;
    }
    .royalis-nav-toggle-text {
        position:absolute!important;
        width:1px!important; height:1px!important; padding:0!important; margin:-1px!important;
        overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
        background:transparent!important;
    }
    .royalis-nav-panel {
        position:fixed!important;
        z-index:120!important;
        top:72px!important;
        left:10px!important; right:10px!important; bottom:10px!important;
        width:auto!important;
        max-height:calc(100dvh - 82px)!important;
        display:none!important;
        overflow-y:auto!important; overflow-x:hidden!important;
        overscroll-behavior:contain!important;
        -webkit-overflow-scrolling:touch;
        padding:10px!important;
        gap:8px!important;
        border-radius:18px!important;
        align-items:stretch!important;
        background:linear-gradient(155deg,#071b43,#0b3567)!important;
        box-shadow:0 18px 45px rgba(2,13,39,.38)!important;
        backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
    }
    .royalis-nav-panel.is-open { display:flex!important; }
    .royalis-primary-nav, .royalis-header-actions {
        width:100%!important;
        gap:5px!important;
        flex-direction:column!important;
        align-items:stretch!important;
    }
    .royalis-primary-nav a, .royalis-nav-group, .royalis-nav-trigger,
    .royalis-header-actions>a, .royalis-header-actions>details { width:100%!important; }
    .royalis-nav-link, .royalis-nav-trigger {
        min-height:44px!important;
        padding:0 13px!important;
        border-radius:11px!important;
        background:rgba(255,255,255,.045)!important;
        color:#edf6ff!important;
        font-size:.88rem!important;
        justify-content:space-between!important;
    }
    .royalis-nav-link::before, .royalis-nav-trigger::before { display:none!important; }
    .royalis-nav-group { display:block!important; }
    .royalis-nav-dropdown {
        position:static!important;
        display:none!important;
        min-width:0!important;
        margin:3px 0 4px 10px!important;
        padding:3px 0 3px 8px!important;
        gap:2px!important;
        border:0!important; border-left:1px solid rgba(102,226,251,.2)!important;
        border-radius:0!important;
        background:transparent!important;
        box-shadow:none!important;
        backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
        opacity:1!important; pointer-events:auto!important; transform:none!important;
    }
    .royalis-nav-group.is-open .royalis-nav-dropdown { display:grid!important; }
    .royalis-nav-group:not(.is-open) .royalis-nav-dropdown { display:none!important; }
    .royalis-nav-dropdown-link {
        margin:0!important;
        padding:10px 12px!important;
        border-radius:10px!important;
        color:rgba(235,244,255,.82)!important;
        white-space:normal!important;
        background:transparent!important;
    }
    .royalis-header-actions {
        margin-top:3px!important;
        padding-top:8px!important;
        border-top:1px solid rgba(255,255,255,.1)!important;
    }
    .royalis-language-control {
        order:0!important; width:100%!important; min-height:44px!important;
        justify-content:space-between!important; border-radius:11px!important;
    }
    .royalis-language-control select { flex:1!important; max-width:none!important; }
    .royalis-header-actions .royalis-button { width:100%!important; min-height:44px!important; border-radius:11px!important; }

    body.royalis-account-lite .royalis-main-inner { padding-top:8px!important; }
    body.royalis-account-lite .royalis-auth-stage {
        width:min(100% - 16px,560px)!important;
        margin:8px auto 28px!important;
        display:block!important;
    }
    body.royalis-account-lite .royalis-auth-showcase { display:none!important; }
    body.royalis-account-lite .royalis-auth-card {
        width:100%!important; max-width:none!important;
        padding:22px 18px!important;
        border-radius:19px!important;
        box-shadow:0 12px 30px rgba(22,55,111,.09)!important;
    }
    body.royalis-account-lite .royalis-auth-card-head { margin-bottom:18px!important; }
    body.royalis-account-lite .royalis-auth-card-head h2 { font-size:1.75rem!important; }
    body.royalis-account-lite .royalis-auth-card-head p { font-size:.86rem!important; line-height:1.55!important; }
    body.royalis-account-lite .royalis-auth-form { grid-template-columns:1fr!important; gap:13px!important; }
    body.royalis-account-lite .royalis-field-full { grid-column:auto!important; }
    body.royalis-account-lite .royalis-field input,
    body.royalis-account-lite .royalis-field select,
    body.royalis-account-lite .royalis-birthdate-field input[type="date"] { min-height:48px!important; }
    body.royalis-account-lite .royalis-fieldset { min-height:0!important; }
    body.royalis-account-lite .royalis-auth-submit { min-height:50px!important; }
    body.royalis-account-lite .royalis-login-links { align-items:center!important; gap:8px 14px!important; }
}

@media (max-width:420px) {
    .royalis-header-logo { width:140px!important; }
    .royalis-nav-panel { top:70px!important; max-height:calc(100dvh - 80px)!important; }
    body.royalis-account-lite .royalis-auth-card { padding:20px 15px!important; }
    body.royalis-account-lite .royalis-fieldset label { margin-right:12px!important; }
}


/* Royalis global mobile overflow safety — Aug 24, 2026 */
@media (max-width:768px) {
    .royalis-page-shell, .royalis-main-inner, .royalis-default-content, .royalis-prose { min-width:0!important; max-width:100%!important; }
    .royalis-default-content img, .royalis-prose img, .royalis-panel img { max-width:100%; height:auto; }
    .royalis-default-content table, .royalis-prose table { max-width:100%; }
    .royalis-table-wrap, .royalis-wiki-table-wrap, .royalis-player-feature-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
    body.royalis-account-lite input, body.royalis-account-lite select, body.royalis-account-lite button { font-size:16px; }
    body.royalis-account-lite .royalis-auth-card-head>span, body.royalis-account-lite .royalis-field>span:first-child, body.royalis-account-lite .royalis-fieldset legend { font-size:.72rem; }
}
