/* Scroll of Mana portal layout. Game styles and simulation are separate. */
:root[data-theme=dark] {
  color-scheme: dark;
  --paper:#081f1a; --ivory:#102a23; --surface:#102a23; --surface-raised:#17382e;
  --ink:#f2f3e9; --muted:#b1c2b8; --plum:#d8bd7d; --gold:#d8b76c;
  --gold-deep:#dfc58c; --line:#a78c4e40; --lavender:#15372d;
  --shadow:0 16px 44px #0002; --header:#081f1af0; --field:#09221c;
  --soft:#b8c8b00b; --focus:#eed294; --hero-shade:#061b16;
  scroll-padding-top:104px;
}
:root,:root[data-theme=light] {
  color-scheme:light;
  --paper:#f6f3f8; --ivory:#fffaf1; --surface:#fffcf9; --surface-raised:#eee8f1;
  --ink:#372d41; --muted:#756a7b; --plum:#603453; --gold:#b1883a;
  --gold-deep:#856025; --line:#c5b89866; --lavender:#ece7f2;
  --shadow:0 16px 44px #46344310; --header:#fbf9f7f2; --field:#ffffff;
  --soft:#68577806; --focus:#603453; --hero-shade:#f6f3f8;
}
:root[data-theme=blue] {
  color-scheme:dark;
  --paper:#0c1c35; --ivory:#132843; --surface:#132843; --surface-raised:#1d3758;
  --ink:#eff4ff; --muted:#b2c2da; --plum:#c9d8ef; --gold:#d8b76c;
  --gold-deep:#dfc58c; --line:#95aec044; --lavender:#1d3758;
  --shadow:0 16px 44px #0002; --header:#0c1c35f2; --field:#0c1e38;
  --soft:#b8d2ee0a; --focus:#e9cb8c; --hero-shade:#0b1d35;
}
:root {scroll-padding-top:104px}
body {font-size:16px;line-height:1.7;background:var(--paper);color:var(--ink)}
::selection {background:#bca15b60;color:var(--ink)}
.container {width:min(1200px,calc(100% - 80px))}
.section {padding-block:68px;scroll-margin-top:90px}
h2 {font:600 clamp(28px,3vw,39px)/1.2 var(--sans);letter-spacing:-.04em}
h3 {font-family:var(--sans);font-weight:600;letter-spacing:-.025em;line-height:1.35}
.section-intro {font-size:15px;line-height:1.8;color:var(--muted);max-width:600px}
.eyebrow {font-size:10px;letter-spacing:.16em;color:var(--gold-deep)}
.text-link {font-size:13px;color:var(--plum);border-color:var(--line);gap:12px}
.text-link:hover {border-color:var(--gold)}
.button {min-height:46px;padding:12px 22px;font-size:13px;border-radius:2px;gap:16px;transition:background .2s,border-color .2s,transform .2s}
.button-gold {color:#2f2c14;background:linear-gradient(115deg,#c8a45d,#efda9e);border-color:#ebce8a;box-shadow:inset 0 0 0 3px #fff2ce24,0 7px 24px #0002}
.button-gold:before {display:block;inset:4px;border-color:#775d342b;border-radius:2px}
.button-gold:after {display:none}
.button-gold:hover {box-shadow:inset 0 0 0 3px #fff2ce24,0 10px 28px #b89b4328}
.button-glass,.button-quiet {background:var(--soft);color:var(--ink);border-color:var(--line)}
.button-glass:hover,.button-quiet:hover {background:var(--surface-raised);border-color:var(--gold)}
.button-plum {background:var(--plum);color:var(--paper);border-color:var(--plum)}
.button-large {min-height:54px;font-size:14px;padding-inline:30px}
a:focus-visible,button:focus-visible {outline:2px solid var(--focus);outline-offset:5px}
input:focus-visible,select:focus-visible {outline:2px solid var(--focus);outline-offset:2px}
.skip-link {background:var(--surface);color:var(--ink);border-color:var(--gold)}

/* A compact persistent header, with a true menu on narrow screens. */
.site-header {height:76px;background:var(--header);border-bottom:1px solid var(--line);transition:box-shadow .25s;backdrop-filter:blur(12px)}
.site-header.is-scrolled {box-shadow:0 3px 15px #00000008}
.header-inner {width:min(1440px,calc(100% - 64px));gap:24px}
.brand {flex-shrink:0;gap:11px}
.brand img {width:35px;height:40px}
.brand-name {font-size:18px;letter-spacing:-.035em;color:var(--ink)}
.brand-name small {font-size:7px;color:var(--muted);letter-spacing:.16em}
.main-nav {gap:24px;font-size:12px}
.main-nav a {color:var(--muted);padding-block:27px}
.main-nav a:hover,.main-nav a[aria-current=page] {color:var(--gold-deep)}
.main-nav a:after {bottom:21px;background:var(--gold)}
.header-actions {gap:14px}
.account-nav {font-size:12px;color:var(--ink)}
.header-play {display:inline-flex;min-height:40px;font-size:12px;padding:10px 17px;white-space:nowrap}
.language-switch {gap:2px}
.language-switch :is(a,button) {color:var(--muted);min-height:34px;padding:6px;font-size:10px}
.language-switch :is(a,button):is([aria-current=true],[aria-pressed=true]) {background:var(--surface-raised);border-color:var(--line);color:var(--ink)}
.language-switch svg {width:18px;height:13px}
.main-nav .language-switch a {padding:6px;font-size:10px;min-height:34px}
.portal-theme-toggle,.menu-toggle {height:36px;min-height:36px;flex-shrink:0;border:0;border-radius:2px;background:transparent;color:var(--ink);display:grid;place-items:center;padding:8px}
.portal-theme-toggle svg {width:18px;height:18px}
.portal-theme-toggle:hover {background:var(--surface-raised);border-color:var(--gold)}
.theme-moon {display:none}
[data-theme=light] .theme-sun {display:none}
[data-theme=light] .theme-moon {display:block}
.menu-toggle {display:none;border-radius:5px}
.nav-mobile-account {display:none}
.reading-progress {position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--gold);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}

/* The opening reads as a game portal: a quiet text column beside the original artwork. */
.hero {isolation:isolate;position:relative;width:min(1320px,calc(100% - 80px));margin:36px auto 0;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:50px;align-items:center;min-height:0;background:transparent;color:var(--ink);overflow:visible;padding-bottom:50px}
.hero:after {display:none}
.hero-art {position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:480px;object-fit:cover;object-position:69% 28%;opacity:1;border:1px solid var(--line);animation:none;transform:none}
.hero-content {grid-column:1;grid-row:1;position:relative;z-index:1;width:100%;padding:10px 0;margin:0;text-align:left}
.hero-content>.eyebrow {font-size:10px;letter-spacing:.17em;color:var(--gold-deep);margin-bottom:22px}
.hero-wordmark {width:auto;max-width:100%;margin:0;font:500 clamp(53px,5vw,76px)/.94 var(--serif);letter-spacing:-.065em;text-align:left;color:var(--plum);text-shadow:none}
.hero-wordmark>span {display:block}
.hero-wordmark>span:first-child {font-size:.53em;letter-spacing:.15em;margin-bottom:13px}
.hero-wordmark i {font:italic .3em Georgia,serif;letter-spacing:0;color:var(--gold-deep);margin-right:7px}
.hero h2 {font:400 clamp(24px,2.3vw,32px)/1.28 Georgia,serif;letter-spacing:-.035em;text-wrap:balance;color:var(--ink);max-width:450px;margin:28px 0 0}
.hero-description {font-size:15px;line-height:1.8;color:var(--muted);max-width:430px;margin:17px 0 0}
.hero-actions {display:flex;justify-content:flex-start;gap:20px;margin-top:27px;flex-wrap:wrap}
.hero .button-glass {background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);border-radius:0;padding:9px 0;min-height:44px;backdrop-filter:none}
.hero .button-glass:hover {background:transparent;border-color:var(--ink)}
.hero-note {font-size:9px;letter-spacing:.1em;color:var(--muted);margin-top:20px}
.hero-art-caption {position:absolute;right:0;bottom:26px;max-width:54%;color:var(--muted);font-size:10px;line-height:1.3;letter-spacing:0;background:none;border:0;padding:0}

.realm-ribbon {background:transparent;margin-top:0;padding:19px 0;border:0;border-block:1px solid var(--line);border-radius:0;gap:26px;box-shadow:none;font-size:12px}
.realm-ribbon-title {font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.realm-ribbon-title .live-dot {background:var(--gold);box-shadow:none;border-radius:0;width:6px;height:6px;transform:rotate(45deg)}
#server-status {gap:32px}
.server-row {gap:8px;flex-wrap:wrap}
.server-row b {font-size:12px}
.server-row small {font-size:11px;color:var(--muted)}
.server-indicator {background:#a1aaa1;width:6px;height:6px}
.server-indicator.is-online {background:#89bb93;box-shadow:0 0 0 3px #89bb9314}
.realm-ribbon>a {display:inline-flex;font-size:12px;color:var(--plum);white-space:nowrap}
.journey-shortcuts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);padding-block:19px;gap:28px}
.journey-link {display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:13px;min-height:70px;padding:8px 0;color:var(--ink)}
.journey-link+.journey-link {border-left:1px solid var(--line);padding-left:28px}
.journey-link .shortcut-icon {width:42px;height:54px;display:grid;place-items:center;background:none;border:0}
.journey-link svg {width:25px;height:25px;stroke-width:1.2}
.journey-link strong {display:block;font:600 15px/1.4 var(--sans)}
.journey-link small {display:block;font-size:12px;color:var(--muted);margin-top:5px}
.journey-link>.shortcut-arrow {color:var(--gold-deep);transition:transform .2s}
.journey-link:hover>.shortcut-arrow {transform:translate(3px,-3px)}

.news-card {background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;overflow:visible}
.news-card:hover {box-shadow:none;transform:none;border-color:var(--gold)}
.news-image {height:230px;overflow:hidden;border-radius:0}
.news-image img {opacity:1;transition:transform .35s}
.news-card .news-badge {color:#f2dfad;border-color:#c8aa624d;background:#0b261fe8;font-size:9px;padding:5px 9px;left:18px;top:18px;letter-spacing:.1em;box-shadow:none}
.news-content {padding:21px 0 25px;gap:0}
.news-content time {font-size:11px;letter-spacing:0;color:var(--muted);margin-bottom:10px}
.news-content h3 {font:600 21px/1.32 var(--sans);letter-spacing:-.035em;color:var(--ink)}
.news-content p {font-size:13px;line-height:1.8;color:var(--muted);margin-top:13px}
.news-content .text-link {margin-top:23px;font-size:12px}
.news-grid--single {grid-template-columns:minmax(0,1fr)}
.news-grid--single>.news-card {display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,1.3fr)}
.news-grid--single .news-image {height:100%;min-height:250px}
body[data-page=home] .news-grid {grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:0 42px}
body[data-page=home] .news-grid>.news-card:first-child {grid-row:span 2}
body[data-page=home] .news-grid>.news-card:first-child .news-image {height:255px}
body[data-page=home] .news-grid>.news-card:first-child h3 {font-size:25px}
body[data-page=home] .news-grid>.news-card:not(:first-child) {display:grid;grid-template-columns:100px minmax(0,1fr);gap:22px;align-items:start;padding-block:22px}
body[data-page=home] .news-grid>.news-card:not(:first-child) .news-image {height:100px;min-height:0}
body[data-page=home] .news-grid>.news-card:not(:first-child) .news-badge {display:none}
body[data-page=home] .news-grid>.news-card:not(:first-child) .news-content {padding:0 0 10px}
body[data-page=home] .news-grid>.news-card:not(:first-child) h3 {font-size:19px}
body[data-page=home] .news-grid>.news-card:not(:first-child) p {font-size:12px;line-height:1.7}
body[data-page=home] .news-grid>.news-card:not(:first-child) .text-link {margin-top:14px}

.classes-section {padding-block:70px;background:var(--surface);border-block:1px solid var(--line)}
.class-tabs {margin:0;max-width:none;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:0;gap:18px;justify-content:stretch;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.class-tab {font:500 12px/1.4 var(--sans);min-height:57px;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);background:transparent;flex-direction:row;align-items:center;justify-content:flex-start;padding:12px 0;gap:0}
.class-tab img {display:none}
.class-tab>span {font:inherit}
.class-tab[aria-selected=true] {background:transparent;border-color:var(--plum);color:var(--ink);box-shadow:none;font-weight:700}
.class-tab[aria-selected=true]:after {display:none}
.class-tab:hover {background:transparent;color:var(--ink)}
.class-feature {margin-top:28px;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);background:transparent;border:0;border-radius:0;overflow:hidden;gap:30px;min-height:440px}
.class-art-wrap {height:440px;border:0;border-radius:0;background:var(--paper)}
.class-art-wrap:after {background:linear-gradient(0deg,#1f1921bd,transparent 32%)}
.class-art-wrap img {object-position:50% 18%}
.class-art-label {left:28px;bottom:24px;color:#fff6df}
.class-art-label span {font-size:19px}
.class-art-label small {font-size:9px;color:#d5c99d}
.class-copy {padding:20px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative}
.class-number {font-size:10px;letter-spacing:.08em;color:var(--muted);position:static;margin-bottom:28px}
.class-copy h3 {font:400 39px/1.15 Georgia,serif;letter-spacing:-.04em;color:var(--ink)}
.class-copy>.eyebrow {font-size:9px;margin-bottom:9px}
.class-role {font-size:12px;letter-spacing:.02em;color:var(--gold-deep);margin-top:12px}
.class-copy #class-description {font-size:14px;line-height:1.85;color:var(--muted);margin-top:19px;max-width:440px}
.trait-list {margin-top:22px;gap:7px}
.trait-list span {background:transparent;color:var(--muted);border:0;border-left:2px solid var(--line);font-size:11px;padding:2px 9px;border-radius:0}
.class-copy .button {margin-top:27px}
.world-facts {padding-block:32px;margin-block:30px 44px;border-color:var(--line)}
.world-facts>div {border-color:var(--line)}
.world-facts strong {color:var(--ink);font:400 43px/1.1 Georgia,serif}
.world-facts span {font-size:9px;letter-spacing:.13em;color:var(--muted)}
.features-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 55px}
.features-grid h3 {font:600 19px/1.4 var(--sans);color:var(--ink)}
.features-grid p {font-size:14px;line-height:1.8;color:var(--muted);margin-top:9px;grid-column:2}
.feature-icon {background:none;border:0;color:var(--gold-deep);border-radius:0;width:42px;height:54px;padding:0;display:grid;place-items:center;grid-row:span 2;margin:0}
.ranking-section {background:var(--surface);border-block:1px solid var(--line);padding-block:65px}
.ranking-layout {gap:70px}
.ranking-intro>p:not(.eyebrow) {font-size:14px;color:var(--muted);max-width:320px}
.ornament-card {background:var(--surface);border:1px solid var(--line);box-shadow:none;border-radius:2px}
.ornament-card:before,.ornament-card:after {display:none}
.ranking-board {background:transparent;padding:0;border:0;box-shadow:none}
.ranking-board th {font-size:10px;color:var(--gold-deep);border-color:var(--line)}
.ranking-board td {font-size:13px;color:var(--ink);border-color:var(--line);padding-block:16px}
.ranking-board tbody tr:first-child td {color:var(--gold-deep);background:var(--soft)}
.realm-tabs {gap:20px;padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.realm-tabs button {font-size:12px;min-height:40px;color:var(--muted);padding:8px 0;border-radius:0;background:transparent;border:0;border-bottom:2px solid transparent}
.realm-tabs button[aria-selected=true] {color:var(--ink);background:transparent;box-shadow:none;border:0;border-bottom:2px solid var(--plum);font-weight:700}
.fine-print,.table-message {color:var(--muted);font-size:12px}
.account-promotion {gap:75px;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);align-items:center;max-width:1100px}
.account-promo-image {border:0;height:380px;border-radius:0;background:var(--surface)}
.account-promo-image:after {display:none}
.promo-emblem {background:#123021de;border-color:#c7aa5c8c;color:#e5cb8e}
.account-benefits {font-size:14px;color:var(--ink);gap:0;margin-block:24px 28px}
.account-benefits svg {color:var(--gold-deep)}
.guide-section {background:var(--surface);border-block:1px solid var(--line);padding-block:70px}
.guide-grid {display:grid;grid-template-columns:1fr;gap:0;margin-top:0}
.guide-card {display:grid;grid-template-columns:36px minmax(0,1fr);gap:6px 20px;padding:24px 0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.guide-card>span {font:500 12px/1.8 var(--sans);color:var(--gold-deep);margin:0;opacity:1;grid-row:span 2}
.guide-card h3 {font:600 19px/1.35 var(--sans);color:var(--ink)}
.guide-card p {font-size:14px;line-height:1.8;color:var(--muted);margin-top:0}
.discord-section {background:transparent;border:0;border-block:1px solid var(--line);border-radius:0;padding:36px 0;margin-block:60px;gap:30px;grid-template-columns:minmax(0,1fr) auto}
.discord-symbol {background:var(--paper);border-color:var(--line);color:var(--gold-deep);width:68px;height:68px}
.discord-section p:not(.eyebrow) {font-size:14px;color:var(--muted)}
.discord-section h2 {font-size:30px}
.site-footer {background:var(--paper);border-top:1px solid var(--line);padding-top:45px}
.footer-links {font-size:12px;color:var(--muted)}
.footer-tag {font-size:13px;color:var(--muted)}
.footer-bottom {font-size:10px;color:var(--muted);border-color:var(--line);gap:20px;flex-wrap:wrap}
.portal-motion-toggle,.back-top {color:var(--gold-deep);font-size:11px;min-height:36px}

/* Search and filtering never hide the initial, indexable article list without JS. */
.page-heading {padding-block:53px 34px;background:transparent;border-color:var(--line)}
.page-heading h1 {font:600 clamp(32px,4vw,47px)/1.2 var(--sans);letter-spacing:-.04em;color:var(--ink)}
.page-heading p:not(.eyebrow) {font-size:15px;max-width:650px;color:var(--muted);margin-top:16px}
.journal-main {padding-block:35px 80px}
.journal-tools {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:22px;margin-bottom:28px;padding-bottom:25px;border-bottom:1px solid var(--line)}
.journal-search {flex:1;max-width:430px;min-width:220px}
.journal-search label {display:block;color:var(--muted);font-size:11px;margin-bottom:7px}
.search-field {display:flex;align-items:center;background:var(--field);border:1px solid var(--line);border-radius:5px;padding:0 13px;gap:10px}
.search-field svg {width:19px;height:19px;color:var(--gold-deep)}
.search-field input {min-width:0;width:100%;height:45px;border:0;background:none;color:var(--ink);font-size:14px;outline-offset:0}
.search-field input::placeholder {color:var(--muted);opacity:.8}
.search-field:focus-within {outline:2px solid var(--focus);outline-offset:2px}
.search-field input:focus-visible {outline:none}
.journal-filters {display:flex;gap:5px;flex-wrap:wrap}
.journal-filters button {font-size:12px;color:var(--muted);background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;min-height:39px;padding:8px 13px}
.journal-filters button[aria-pressed=true] {background:transparent;color:var(--ink);border-color:var(--plum);font-weight:700}
.journal-result {font-size:12px;color:var(--muted);margin-bottom:23px;min-height:21px}
.journal-empty {grid-column:1/-1;padding:50px 24px;text-align:center;border:1px dashed var(--line);border-radius:8px;display:grid;gap:18px;justify-items:center;color:var(--muted)}
.journal-empty h2 {font-size:26px;color:var(--ink)}
.news-detail {max-width:880px;margin-inline:auto}
.news-detail h1 {font:600 clamp(29px,4vw,47px)/1.2 var(--sans);letter-spacing:-.04em;color:var(--ink)}
.news-detail h2 {font-size:27px;color:var(--ink)}
.news-detail p,.news-detail ul {font-size:16px;line-height:1.9;color:var(--muted)}
.news-detail time {font-size:12px;color:var(--gold-deep)}
.news-detail-image {border:1px solid var(--line);border-radius:0;height:auto;max-height:440px;object-fit:cover}
.news-gallery figure {border-color:var(--line);background:var(--surface);border-radius:0}
.news-gallery img {background:var(--paper)}
.news-gallery figcaption {font-size:12px;color:var(--muted)}
.error-state {background:var(--surface);border-color:var(--line);color:var(--muted);font-size:14px}

/* Shared account surfaces retain their data and actions; only presentation changes. */
.account-main {background:var(--paper)}
.login-layout {padding-block:55px;max-width:1080px;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:65px;align-items:center}
.login-art {border:0;border-radius:0;min-height:580px}
.login-art:after {background:linear-gradient(0deg,#281e2feb,transparent 70%)}
.login-panel {background:transparent;border:0;border-radius:0;padding:25px 0;box-shadow:none}
.login-panel h1 {font:600 30px/1.25 var(--sans);letter-spacing:-.04em;color:var(--ink)}
.login-description,.form-divider,.form-help,.policy-checkbox,.forgot-password,.profile-name,.dashboard-toolbar>div>span,.read-only-note,.account-updated {color:var(--muted)}
.login-panel .login-description {font-size:14px;color:var(--muted)}
.form-divider:before,.form-divider:after,.auth-tabs {border-color:var(--line);background-color:transparent}
.form-divider:before,.form-divider:after {background:var(--line)}
.auth-tabs button {color:var(--muted);font-size:13px;min-height:42px}
.auth-tabs button[aria-selected=true] {color:var(--gold-deep)}
.auth-form label:not(.policy-checkbox) {color:var(--muted);font-size:12px}
.auth-form input:not([type=checkbox]),.recovery-form input,.item-search {background:var(--field);border-color:var(--line);color:var(--ink);min-height:46px;font-size:14px;border-radius:5px}
.auth-form .auth-submit {font-size:14px}
.form-help,.policy-checkbox {font-size:11px}
.forgot-password {font-size:12px;min-height:36px}
.forgot-info {background:var(--surface-raised);border-color:var(--line);color:var(--muted)}
.auth-message {color:#e7b39d}
[data-theme=light] .auth-message {color:#a03e38}
.account-top h1 {font-size:38px}
.dashboard-toolbar {border-color:var(--line)}
.read-only-note {font-size:12px;align-items:flex-start}
.account-section-nav {display:flex;gap:8px;flex-wrap:wrap;margin-block:8px 28px}
.account-section-nav a {font-size:12px;padding:8px 15px;border:1px solid var(--line);border-radius:22px;color:var(--muted)}
.account-section-nav a:hover {color:var(--gold-deep);background:var(--surface-raised)}
.character-sidebar {background:transparent;border:0;border-radius:0;padding:0}
.character-sidebar h2 {color:var(--ink);font:600 16px/1.4 var(--sans);padding-bottom:15px;border-bottom:1px solid var(--line)}
.character-select {background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);border-radius:0}
.character-select[aria-pressed=true],.character-select.is-active {background:var(--soft);border-color:var(--line);box-shadow:inset 3px 0 var(--plum)}
.character-select .character-face {background:var(--paper);border-color:var(--line)}
.character-select small {color:var(--muted)}
.character-select span {color:var(--ink);font-size:12px}
.character-select small {font-size:10px}
.character-select em {color:#92bd94;font-size:9px}
.hero-overview {background:var(--surface);border-color:var(--line);border-radius:0}
.hero-avatar-stage {background:var(--paper);border-color:var(--line);border-radius:0}
.hero-avatar-stage:after {opacity:.3}
.preview-caption,.preview-motion {color:var(--gold-deep)}
.preview-motion {background:var(--surface);border-color:var(--line);font-size:10px;min-height:31px}
.hero-overview-content h2 {color:var(--ink)}
.hero-overview-content>p:not(.eyebrow),.hero-stat-strip span,.xp-track>span,.attribute-line,.wealth-card>p,.card-heading>span,.empty-items {color:var(--muted)}
.hero-stat-strip strong,.wealth-card>strong,.wealth-card>span {color:var(--gold-deep)}
.dashboard-card {background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0;scroll-margin-top:100px}
.dashboard-card h3 {color:var(--ink);font:600 19px/1.4 var(--sans)}
.attribute-line {font-size:13px;border-color:var(--line)}
.attribute-line strong {color:var(--ink)}
.attribute-line b {color:var(--ink)}
.attribute-line>span,.attribute-line small {color:var(--muted)}
.attribute-line>i {background:var(--surface-raised)}
.attribute-line>i>i {background:var(--gold)}
.item-card {background:var(--paper);border-color:var(--line);border-radius:5px}
.item-card.rarity-magico {background:linear-gradient(110deg,#3973bd10,var(--paper));border-color:#6d8fbd66}
.item-card.rarity-raro {background:linear-gradient(110deg,#b8913a14,var(--paper));border-color:#bfaa5b66}
.item-card.rarity-excelente {background:linear-gradient(110deg,#48a16b12,var(--paper));border-color:#67b58c66}
.item-card.rarity-lendario {background:linear-gradient(110deg,#b9863f14,var(--paper));border-color:#c8a36288}
.item-card:hover {background:var(--surface-raised);border-color:var(--gold)}
.item-card .item-name {font-size:12px;color:var(--ink)}
.item-card .item-meta,.item-card .item-state {font-size:10px;color:var(--muted)}
.item-icon {background:var(--surface-raised);border-color:var(--line)}
.skill-list span {background:var(--paper);border-color:var(--line);color:var(--gold-deep);font-size:11px}
.vault-money {border-color:var(--line);color:var(--muted)}
.vault-money strong {color:var(--gold-deep)}
.vault-money>span {color:var(--muted);font-size:11px}
.account-empty {background:var(--surface);border-color:var(--line);color:var(--muted)}
.item-dialog {background:var(--surface);color:var(--ink);border-color:var(--gold);border-radius:8px}
.item-dialog::backdrop {background:#03130fbb;backdrop-filter:blur(4px)}
.dialog-close {background:var(--paper);color:var(--ink);border-color:var(--line)}
.item-dialog dd {color:var(--ink);font-size:12px}
.item-dialog dt,.item-dialog .item-lore,.item-dialog .item-mods,.item-dialog .item-footnote {color:var(--muted)}
.item-dialog .item-lore {font-size:13px}
body[data-page=account]:not(.play-login) .account-main:before {background:radial-gradient(ellipse at 15% 30%,#809c4d0b,transparent 35%),radial-gradient(ellipse at 85% 50%,#57a77e10,transparent 45%)}
.play-login .account-main {background:var(--paper)}
.play-login .account-main:after {background:linear-gradient(90deg,var(--paper),#0a281dc9 55%,#0b231fcc)}
[data-theme=light] .play-login .account-main:after {background:linear-gradient(90deg,#f7f5eef2,#e6eee2d9 55%,#e9eee5d9)}
.play-login .login-panel {background:var(--header);border-color:var(--line)}
.play-login .login-art>div,.play-login .login-art h2 {color:var(--ink)}
.play-login .login-art p:not(.eyebrow) {color:var(--muted)}

/* The original white palette is the default; colors are optional user preferences. */
.portal-theme-picker {position:relative;flex-shrink:0}
.portal-theme-toggle {cursor:pointer;list-style:none;display:flex;align-items:center;gap:7px;width:auto;font-size:11px;padding:7px 6px}
.portal-theme-toggle::-webkit-details-marker {display:none}
.portal-theme-picker[open]>.portal-theme-toggle {background:var(--surface-raised);border-color:var(--gold)}
.portal-theme-options {position:absolute;right:0;top:44px;width:170px;min-width:0;margin:0;padding:13px 10px 10px;border:1px solid var(--line);border-radius:2px;background:var(--surface);box-shadow:0 8px 24px #0001;z-index:50}
.portal-theme-options legend {float:left;width:100%;font-size:10px;color:var(--muted);padding:0 8px 9px;letter-spacing:.04em}
.portal-theme-options label {display:flex;align-items:center;gap:10px;padding:9px 8px;min-height:42px;font-size:13px;cursor:pointer;border-radius:4px;color:var(--ink)}
.portal-theme-options label:hover {background:var(--surface-raised)}
.portal-theme-options input {accent-color:var(--plum);margin:0}
.theme-swatch {height:17px;width:17px;border:1px solid #9e917d80;border-radius:50%}
.theme-swatch-light {background:#f6f3f8}
.theme-swatch-dark {background:#10382c}
.theme-swatch-blue {background:#153a63}
:root:not([data-theme=dark]):not([data-theme=blue]) .scroll-cue {color:#756a7b}
:root:not([data-theme=dark]):not([data-theme=blue]) .news-badge {background:#fffaedeb;color:#806028;border-color:#ead2a0}
[data-theme=blue] .news-badge {background:#0c1c35ed}
.preview-status {color:var(--muted)}
.account-collection {margin-top:25px;scroll-margin-top:105px}
.collection-tabs {display:flex;gap:24px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:0}
.collection-tabs button {flex:initial;min-height:47px;padding:10px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:13px}
.collection-tabs button[aria-selected=true] {color:var(--plum);border-color:var(--gold);font-weight:600}
.account-collection .collection-panel {margin-top:0;border:0;border-radius:0}
.account-section-nav {gap:0;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px}
.account-section-nav a {border:0;border-radius:4px;padding:9px 14px}
.controls-guide {margin-top:24px;border:0;border-block:1px solid var(--line);border-radius:0;background:transparent}
.controls-guide summary {padding:18px 0;cursor:pointer;color:var(--plum);font-size:14px;font-weight:600;list-style-position:inside}
.controls-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 24px;padding:5px 24px 25px}
.controls-grid p {display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}
.controls-grid kbd {display:inline-flex;justify-content:center;align-items:center;min-width:49px;min-height:32px;padding:4px 9px;border:1px solid var(--line);border-bottom-width:3px;border-radius:5px;background:var(--surface);color:var(--ink);font:500 11px var(--sans)}

/* The small illustrations below are the existing inventory atlas, not a second icon family. */
.shortcut-icon[data-icon]>svg,.feature-icon[data-icon]>svg {display:none}
.shortcut-icon[data-icon]:before,.feature-icon[data-icon]:before {content:'';display:block;background-image:url('/assets/chars/icons0.png');background-repeat:no-repeat;image-rendering:pixelated}
[data-icon=compass]:is(.shortcut-icon,.feature-icon):before {width:32px;height:32px;background-size:1024px 818px;background-position:-882px -754px}
[data-icon=person].shortcut-icon:before {width:32px;height:32px;background-size:512px 409px;background-position:-396px -278px}
[data-icon=sword]:is(.shortcut-icon,.feature-icon):before {width:24px;height:48px;background-size:384px 306.75px;background-position:0 0}
[data-icon=spark].shortcut-icon:before {width:32px;height:64px;background-image:url('/assets/chars/books-pixel-v2.png');background-position:0 0}
[data-icon=spark].feature-icon:before {width:32px;height:32px;background-size:1024px 818px;background-position:-474px -754px}
[data-icon=people].feature-icon:before {width:32px;height:32px;background-size:512px 409px;background-position:-198px -344px}
.account-benefits [data-icon],.promo-emblem,.discord-symbol,.read-only-note>[data-icon],.vault-card h3>[data-icon] {display:none}
.account-benefits li {padding:11px 0;border-bottom:1px solid var(--line)}
.theme-current-swatch {display:none}
.portal-theme-toggle:after {content:'';width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:0 2px 3px}
.portal-theme-picker[open]>.portal-theme-toggle:after {transform:rotate(225deg);margin-bottom:0}
.header-actions>.account-nav svg {display:none}
.header-actions .account-nav>span {display:inline}
.classes-section>.container {display:grid;grid-template-columns:minmax(0,.31fr) minmax(0,1fr);gap:50px;align-items:start}
.classes-section .section-heading.centered {text-align:left;padding-top:14px}
.classes-section .centered .section-intro {margin-inline:0;max-width:260px}
.classes-section .section-heading h2 {font-size:32px}
.class-showcase {min-width:0}
.news-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}
.news-grid--single {grid-template-columns:1fr}
.features-grid article {display:grid;grid-template-columns:42px minmax(0,1fr);gap:0 19px;border-top:1px solid var(--line);padding-block:27px}
.guide-section>.container {display:grid;grid-template-columns:minmax(0,.67fr) minmax(0,1fr);grid-template-rows:min-content 1fr;gap:24px 80px;align-items:start}
.guide-section .section-heading.centered {text-align:left;grid-column:1;grid-row:1}
.guide-section .centered .section-intro {margin-inline:0;max-width:300px}
.guide-section .guide-grid {grid-column:2;grid-row:1 / span 2}
.guide-section .controls-guide {grid-column:1;grid-row:2;align-self:start}
.guide-card:first-child {padding-top:0}
.controls-grid {grid-template-columns:1fr;padding:5px 0 20px}
.login-panel>.eyebrow {display:none}
.account-top h1 {font:600 36px/1.25 var(--sans);letter-spacing:-.04em}
.item-card {border-radius:2px;box-shadow:none}
.reveal-enabled [data-reveal] {transform:translateY(9px);transition:opacity .4s ease,transform .4s ease;transition-delay:var(--reveal-delay,0ms)}
.reveal-enabled [data-reveal].is-visible {transform:none}
.reveal-enabled .portal-motion-paused [data-reveal] {opacity:1;transform:none;transition:none}

@media(min-width:1101px) {
  .character-sidebar {position:sticky;top:105px;align-self:start}
}
@media(max-width:1100px) {
  .header-inner {width:calc(100% - 40px);gap:18px}
  .menu-toggle {display:grid;width:36px}
  .main-nav {display:none;position:absolute;left:20px;right:20px;top:70px;flex-direction:column;align-items:stretch;gap:0;padding:18px 24px;background:var(--surface);border:1px solid var(--line);border-radius:2px;box-shadow:0 12px 35px #0002;max-height:calc(100dvh - 110px);overflow:auto}
  .main-nav.is-open {display:flex}
  .main-nav a {font-size:14px;padding:12px 0;min-height:46px}
  .main-nav a:after {display:none}
  .main-nav .language-switch {border-top:1px solid var(--line);padding-top:12px;margin-top:8px}
  .main-nav .language-switch a {font-size:11px;min-height:36px;padding:8px 12px}
  .nav-mobile-account {display:flex!important;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:8px}
  .container {width:calc(100% - 56px)}
  .hero {width:calc(100% - 56px);gap:32px}
  .hero-art {height:440px}
  .hero-wordmark {font-size:62px}
  .hero h2 {font-size:27px}
  .hero-description {font-size:14px}
  .hero-actions {gap:12px}
  .hero-actions .button {font-size:12px;padding-inline:18px}
  .hero .button-glass {padding-inline:0}
  .realm-ribbon {flex-wrap:wrap;gap:16px 24px}
  .realm-ribbon-title {width:100%}
  .journey-shortcuts {gap:18px}
  .journey-link {gap:10px;grid-template-columns:32px minmax(0,1fr) 14px}
  .journey-link+.journey-link {padding-left:18px}
  .journey-link strong {font-size:14px}
  .journey-link small {font-size:11px}
  .classes-section>.container {grid-template-columns:1fr;gap:28px}
  .classes-section .section-heading.centered {max-width:620px;padding-top:0}
  .classes-section .centered .section-intro {max-width:580px}
  .class-feature {grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:35px}
  .class-copy {padding:20px 0}
  .ranking-layout {gap:36px}
  .account-promotion {gap:40px}
  .guide-section>.container {gap:0 45px}
  .login-layout {gap:40px}
}
@media(max-width:760px) {
  .container {width:calc(100% - 40px)}
  .section {padding-block:48px}
  .site-header {height:66px}
  .brand img {width:29px;height:34px}
  .brand-name {font-size:15px}
  .brand-name small {font-size:6px;letter-spacing:.1em}
  .header-actions {gap:9px}
  .header-play {font-size:11px;padding:9px 13px;min-height:36px}
  .header-actions>.account-nav {display:none}
  .hero {width:calc(100% - 40px);margin-top:28px;grid-template-columns:1fr;gap:25px;padding-bottom:28px}
  .hero-content {grid-column:1;grid-row:1;padding:0}
  .hero-content>.eyebrow {font-size:9px;margin-bottom:18px}
  .hero-wordmark {font-size:67px}
  .hero h2 {font-size:29px;margin-top:22px;max-width:290px}
  .hero-description {font-size:14px;max-width:490px}
  .hero-art {grid-column:1;grid-row:2;height:260px;object-position:67% 28%}
  .hero-art-caption {position:static;max-width:none;grid-column:1;grid-row:3;margin-top:-14px;font-size:9px}
  .hero-actions {margin-top:22px;gap:22px}
  .hero-actions .button {font-size:12px;min-height:46px}
  .hero-note {font-size:8px;letter-spacing:.08em;margin-top:16px}
  .realm-ribbon {padding:18px 0;gap:14px 20px}
  #server-status {gap:14px;display:grid;flex:1}
  .server-row {align-items:center}
  .server-row small {font-size:11px}
  .realm-ribbon>a {margin-left:auto;font-size:11px}
  .journey-shortcuts {grid-template-columns:1fr;gap:0;padding-block:9px}
  .journey-link {grid-template-columns:38px minmax(0,1fr) 18px;padding:11px 0;gap:13px;min-height:72px}
  .journey-link+.journey-link {padding:11px 0;border-left:0;border-top:1px solid var(--line)}
  .journey-link strong {font-size:15px}
  .journey-link small {font-size:12px;margin-top:3px}
  .section-heading {align-items:start;gap:18px}
  .section-heading:not(.centered) {flex-direction:column}
  .section-heading .text-link {font-size:12px}
  .section-intro {font-size:14px}
  body[data-page=home] .news-grid {grid-template-columns:1fr;gap:0}
  body[data-page=home] .news-grid>.news-card:first-child {grid-row:auto}
  body[data-page=home] .news-grid>.news-card:first-child .news-image {height:220px}
  body[data-page=home] .news-grid>.news-card:first-child h3 {font-size:23px}
  body[data-page=home] .news-grid>.news-card:not(:first-child) {grid-template-columns:85px minmax(0,1fr);gap:18px;padding-block:23px}
  body[data-page=home] .news-grid>.news-card:not(:first-child) .news-image {height:85px}
  body[data-page=home] .news-grid>.news-card:not(:first-child) h3 {font-size:18px}
  .classes-section {padding-block:48px}
  .classes-section .section-heading h2 {font-size:29px}
  .class-tabs {grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
  .class-tab {font-size:13px;min-height:48px}
  .class-feature {grid-template-columns:1fr;margin-top:23px;gap:0}
  .class-art-wrap {height:345px}
  .class-art-wrap img {object-position:50% 12%}
  .class-copy {padding:28px 0 0}
  .class-number {margin-bottom:16px}
  .class-copy h3 {font-size:35px}
  .class-copy .button {margin-top:24px}
  .class-art-label {left:23px;bottom:21px}
  .world-heading {gap:20px}
  .world-facts {padding-block:25px;margin-block:25px 25px;gap:25px 0}
  .world-facts strong {font-size:35px}
  .world-facts span {font-size:8px}
  .features-grid {grid-template-columns:1fr;gap:0}
  .features-grid article {padding-block:23px}
  .features-grid h3 {font-size:18px}
  .features-grid p {font-size:13px}
  .ranking-section {padding-block:48px}
  .ranking-layout {gap:25px}
  .ranking-intro>p:not(.eyebrow) {max-width:none;font-size:14px}
  .ranking-board {padding:0}
  .ranking-board td {font-size:11px;padding:15px 5px}
  .ranking-board th {font-size:8px;padding-inline:5px}
  .account-promotion {grid-template-columns:1fr;gap:28px}
  .account-promo-image {height:300px}
  .account-benefits {font-size:13px}
  .guide-section {padding-block:48px}
  .guide-section>.container {grid-template-columns:1fr;grid-template-rows:none;gap:30px}
  .guide-section .section-heading.centered {grid-row:auto}
  .guide-section .centered .section-intro {max-width:490px}
  .guide-section .guide-grid {grid-column:1;grid-row:auto}
  .guide-section .controls-guide {grid-column:1;grid-row:auto;margin-top:0}
  .guide-card {padding-block:23px;gap:6px 15px}
  .guide-card h3 {font-size:18px}
  .guide-card p {font-size:13px}
  .controls-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
  .controls-grid p {font-size:11px;gap:8px}
  .discord-section {padding:28px 0;margin-block:42px;gap:23px;grid-template-columns:1fr}
  .discord-section h2 {font-size:27px}
  .discord-section p:not(.eyebrow) {font-size:13px}
  .discord-section .button {justify-self:start}
  .footer-bottom {gap:12px;font-size:10px}
  .page-heading {padding-block:35px 25px}
  .page-heading p:not(.eyebrow) {font-size:14px}
  .journal-main {padding-top:27px}
  .journal-search {max-width:none;width:100%}
  .journal-tools {gap:18px}
  .journal-filters button {padding-inline:12px;font-size:11px}
  .news-grid {grid-template-columns:1fr;gap:25px}
  .news-grid--single>.news-card {display:flex}
  .news-grid--single .news-image {height:210px;min-height:0}
  .news-content h3 {font-size:22px}
  .news-content p {font-size:14px}
  .news-detail p,.news-detail ul {font-size:15px}
  .login-layout {padding-block:30px;gap:30px;grid-template-columns:1fr;max-width:500px}
  .login-art {border:0;min-height:240px;border-radius:0}
  .login-panel {border:0;border-radius:0;padding:0 0 20px}
  .login-panel h1 {font-size:28px}
  .account-top {align-items:start;flex-wrap:wrap;gap:20px}
  .account-top h1 {font-size:31px}
  .account-dashboard {padding-block:30px 50px}
  .dashboard-toolbar {align-items:start;flex-wrap:wrap;gap:15px}
  .dashboard-toolbar>div {flex-wrap:wrap;gap:12px}
  .dashboard-card {padding:20px 0}
  .dashboard-card h3 {font-size:18px}
  .attribute-line {font-size:11px}
  .item-card .item-name {font-size:11px}
  .item-card .item-meta {font-size:9px}
  .collection-tabs {gap:22px}
  .collection-tabs button {font-size:12px}
  .play-login .login-panel {padding:27px 22px}
}
@media(max-width:480px) {
  .header-inner {width:calc(100% - 28px);gap:10px}
  .brand {gap:7px}
  .brand-name {font-size:14px}
  .brand-name small {display:none}
  .header-actions {gap:5px}
  .portal-theme-toggle {min-height:34px;padding:6px 4px;font-size:10px;gap:5px}
  .menu-toggle {width:31px;height:34px;min-height:34px;padding:5px}
  .header-play {padding:8px 10px;font-size:10px;min-height:35px}
}
@media(max-width:390px) {
  .container,.hero {width:calc(100% - 32px)}
  .hero-wordmark {font-size:59px}
  .hero h2 {font-size:27px}
  .hero-description {font-size:13px}
  .hero-actions {gap:17px}
  .hero-actions .button {font-size:11px;padding-inline:17px;gap:10px}
  .hero .button-glass {padding-inline:0}
  .hero-art {height:225px}
  .realm-ribbon>a {width:100%;margin-left:0;border-top:1px solid var(--line);padding-top:13px}
  .class-art-wrap {height:310px}
}
@media(max-width:350px) {
  .brand-name {font-size:12px;max-width:77px;line-height:1.3}
  .brand img {width:25px;height:30px}
  .header-play {font-size:10px;padding-inline:8px;gap:0}
  .theme-current-swatch {display:none}
  .collection-tabs {gap:16px}
}
@media(prefers-reduced-motion:reduce) {
  :root {scroll-behavior:auto}
  .reveal-enabled [data-reveal] {opacity:1;transform:none;transition:none}
  .news-image img {transition:none}
}
