/* Ascenda RS: sapphire night, gold trim, and a single visual language across the site. */
:root {
  --asc-bg: #040b17;
  --asc-bg-soft: #071327;
  --asc-panel: rgba(5, 17, 35, .96);
  --asc-panel-solid: #07172b;
  --asc-panel-bright: #0c2440;
  --asc-line: rgba(94, 147, 206, .34);
  --asc-line-strong: rgba(231, 180, 62, .78);
  --asc-text: #e7edf7;
  --asc-muted: #a8b7cb;
  --asc-cyan: #35baff;
  --asc-cyan-soft: #91ddff;
  --asc-gold: #eeb842;
  --asc-gold-soft: #ffe29a;
  --asc-red: #ff6868;
  --asc-green: #53d99e;
  --asc-shadow: 0 22px 60px rgba(0, 0, 0, .48);
  --asc-radius: 5px;
  --asc-radius-small: 3px;
  --asc-container: 1460px;
}

html { background: #030a16; }
body {
  color: var(--asc-text);
  background: radial-gradient(ellipse at 50% 0%, #0b1a32 0, #050d1b 48%, #030814 100%);
  font-family: Inter, 'Segoe UI', sans-serif;
  font-size: 15px;
}
body::before { display: none; }
h1, h2, h3, h4 { color: #f5f2e9; }
h1, h2, .asc-brand strong, .asc-footer-brand strong { font-family: Cinzel, Georgia, serif; }
p { color: #b4c0d0; }
.asc-container { width: min(calc(100% - 48px), var(--asc-container)); }
.asc-page { min-height: 66vh; }

/* Slim gold-edged navigation from the approved home concept. */
.ars-header { position: sticky; top: 0; z-index: 100; background: rgba(3, 11, 25, .97); box-shadow: 0 6px 22px rgba(0,0,0,.26); }
.ars-navbar { min-height: 56px; border-bottom: 1px solid #b99035; background: linear-gradient(180deg, rgba(11,27,48,.99), rgba(4,13,28,.98)); }
.ars-nav-inner { display: grid; grid-template-columns: 190px minmax(0,1fr); align-items: center; min-height: 56px; gap: 20px; }
.ars-brand { display: inline-flex; align-items: center; gap: 8px; width: max-content; height: 52px; color: #ffe39a; font-family: Cinzel,Georgia,serif; font-size: 12px; letter-spacing: .055em; text-decoration: none; white-space: nowrap; }
.ars-brand img { display: block; width: 120px; height: 50px; object-fit: contain; filter: drop-shadow(0 0 8px rgba(40,143,255,.32)); }
.ars-nav-menu { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; width: 100%; min-width: 0; margin-left: 0; }
.ars-nav-links, .ars-account-actions { display: flex; align-items: center; gap: clamp(14px, 2.4vw, 42px); }
.ars-nav-links { justify-self: center; justify-content: center; }
.ars-nav-link, .ars-community-menu summary { position: relative; display: inline-flex; align-items: center; min-height: 55px; color: #d9dfeb; font-family: Cinzel, Georgia, serif; font-size: 14px; text-decoration: none; cursor: pointer; transition: color .18s ease; }
.ars-nav-link:hover, .ars-community-menu summary:hover, .ars-nav-link.is-active { color: #ffe08a; }
.ars-nav-link.is-active::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, #f0c044, #fff0b0, #f0c044, transparent); box-shadow: 0 0 10px rgba(240,192,68,.8); }
.ars-community-menu { position: relative; }
.ars-community-menu summary { list-style: none; gap: 8px; }
.ars-community-menu summary::-webkit-details-marker { display: none; }
.ars-community-menu[open] summary { color: var(--asc-gold-soft); }
.ars-community-popover { position: absolute; top: calc(100% - 2px); left: -12px; display: grid; min-width: 190px; padding: 8px; border: 1px solid #6f5929; background: #07162a; box-shadow: var(--asc-shadow); }
.ars-community-popover a { padding: 10px 12px; color: #dbe4f1; text-decoration: none; font-size: 13px; }
.ars-community-popover a:hover { color: #ffe08a; background: #102544; }
.ars-account-actions { gap: 16px; }
.ars-sign-in { display: inline-flex; align-items: center; gap: 9px; padding: 7px 12px; border: 1px solid rgba(163,184,215,.24); color: #e2e8f2; text-decoration: none; font-family: Cinzel, Georgia, serif; white-space: nowrap; }
.ars-user-icon { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid #70829c; border-radius: 50%; color: #c5d7f0; font-size: 16px; }
.ars-create-account { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 40px; padding: 0 18px; border: 1px solid #ffda70; outline: 1px solid rgba(238,184,66,.42); outline-offset: -4px; color: #17120a; background: linear-gradient(#ffdc74,#eba91b 58%,#c88210); box-shadow: 0 3px 12px rgba(231,169,42,.18), inset 0 1px rgba(255,255,255,.55); font-family: Cinzel, Georgia, serif; font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; transition: filter .18s, transform .18s; }
.ars-create-account:hover, .ars-gold-button:hover { color: #100d07; filter: brightness(1.12); transform: translateY(-2px); }
.asc-menu-toggle { display: none; }

/* Homepage layout: real text and links layered over standalone game-world art. */
.asc-home { background: #030a17; }
.asc-home .asc-page { min-height: 0; }
.ars-home-hero { position: relative; isolation: isolate; height: min(51vh, 540px); min-height: 523px; overflow: hidden; display: grid; justify-items: center; align-content: start; padding: 8px 24px 26px; text-align: center; background: #08192f url('/assets/img/brand/ascenda-kingdom.png') center 48% / cover no-repeat; }
.ars-hero-shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(2,9,22,.13) 0%, rgba(4,14,32,.12) 36%, rgba(3,11,26,.38) 75%, rgba(3,10,22,.84) 100%), linear-gradient(90deg, rgba(2,9,20,.25), transparent 25%, transparent 75%, rgba(2,9,20,.25)); }
.ars-hero-brand { width: 278px; height: 240px; display: grid; place-items: center; margin: 0 0 -10px; filter: drop-shadow(0 10px 14px rgba(0,0,0,.75)); animation: ars-arrive .7s ease both; }
.ars-hero-brand img { width: 100%; height: 100%; object-fit: contain; }
.ars-hero-copy { position: relative; z-index: 2; }
.ars-home-hero h1 { margin: 0 auto 7px; color: #ffe29a; font-family: Cinzel, Georgia, serif; font-size: clamp(29px, 3.4vw, 47px); font-weight: 700; letter-spacing: .055em; line-height: 1.04; text-shadow: 0 3px 2px #251800, 0 5px 18px #020916; text-transform: uppercase; }
.ars-home-hero h1 span { color: #f3f3fa; }
.ars-home-hero h1 .ars-title-gold { color: #ffe29a; }
.ars-hero-subtitle { margin: 0 0 17px; color: #edf2fa; font-family: Cinzel, Georgia, serif; font-size: clamp(15px, 1.6vw, 21px); text-shadow: 0 2px 10px #020916; }
.ars-hero-actions { display: flex; justify-content: center; gap: 15px; }
.ars-gold-button, .ars-blue-button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 0 31px; border: 2px solid #ffe07a; outline: 1px solid rgba(255,236,160,.48); outline-offset: -6px; color: #1c160a; background: linear-gradient(180deg, #ffdf78, #efb12a 56%, #c17b0d); box-shadow: 0 4px 0 rgba(28,15,0,.72), 0 0 22px rgba(242,179,50,.2), inset 0 1px rgba(255,255,255,.65); font-family: Cinzel, Georgia, serif; font-size: 13px; font-weight: 800; letter-spacing: .035em; text-align: center; text-decoration: none; text-transform: uppercase; transition: transform .18s, filter .18s; }
.ars-gold-button::before, .ars-blue-button::before { content: ''; position: absolute; inset: 4px; border: 1px solid rgba(45,30,7,.42); pointer-events: none; }
.ars-gold-button span, .ars-blue-button span { font-size: 22px; line-height: 1; }
.ars-blue-button { border-color: #35baff; outline-color: rgba(87,199,255,.35); color: #eff7ff; background: linear-gradient(180deg, rgba(19,74,132,.96), rgba(3,25,59,.97)); box-shadow: 0 4px 0 rgba(1,4,14,.75), 0 0 22px rgba(17,128,237,.2), inset 0 1px rgba(255,255,255,.2); }
.ars-blue-button::before { border-color: rgba(110,193,255,.42); }
.ars-blue-button:hover { color: #fff; filter: brightness(1.15); transform: translateY(-2px); }
.ars-hero-note { margin: 11px 0 0; color: #e2e7ef; font-family: Cinzel, Georgia, serif; font-size: 12px; text-shadow: 0 2px 8px #020916; }
.ars-hero-motto { position: absolute; top: 27px; right: max(34px, calc((100vw - 1460px)/2 + 42px)); color: #bdd5f4; font-family: 'Segoe Script', cursive; font-size: 16px; font-style: italic; line-height: 1.2; text-align: right; transform: rotate(-7deg); text-shadow: 0 2px 10px #08172b; }
.ars-hero-signpost { position: absolute; top: 54%; right: max(26px, calc((100vw - 1460px)/2 + 34px)); display: grid; width: 150px; transform: translateY(-10%); filter: drop-shadow(0 5px 7px rgba(0,0,0,.75)); }
.ars-hero-signpost a { display: flex; justify-content: space-between; gap: 10px; margin: 3px 0; padding: 6px 10px 6px 14px; border: 1px solid #684e20; color: #f4d58b; background: linear-gradient(90deg, #0b1628, #211a12 55%, #090f1a); box-shadow: inset 0 1px rgba(255,255,255,.13), 0 3px 5px rgba(0,0,0,.45); font-family: Cinzel, Georgia, serif; font-size: 10px; text-decoration: none; text-transform: uppercase; transition: transform .16s, color .16s; }
.ars-hero-signpost a:nth-child(even) { transform: translateX(-8px); }
.ars-hero-signpost a:hover { color: #fff0ae; transform: translateX(-8px); }
.ars-hero-signpost a span { color: #ffc64b; font-size: 15px; }

/* Three framed panels echo the exact information rhythm in the design image. */
.ars-home-panels { position: relative; z-index: 3; display: grid; grid-template-columns: 1.1fr .86fr 1.12fr; gap: 13px; width: min(calc(100% - 64px), 1460px); margin: -5px auto 0; padding-bottom: 22px; }
.ars-home-card { position: relative; min-width: 0; min-height: 326px; overflow: hidden; padding: 13px 16px 14px; border: 1px solid #81652d; background: linear-gradient(155deg, rgba(7,22,42,.985), rgba(3,11,24,.99)); box-shadow: 0 14px 28px rgba(0,0,0,.43), inset 0 0 26px rgba(26,69,112,.1); }
.ars-home-card::before, .ars-home-card::after { content: '✧'; position: absolute; z-index: 2; color: #d6ac54; font-size: 13px; line-height: 1; pointer-events: none; }
.ars-home-card::before { top: 4px; left: 5px; }
.ars-home-card::after { right: 5px; bottom: 4px; }
.ars-card-heading { display: flex; align-items: center; gap: 10px; min-height: 34px; margin: 0 0 8px; padding: 0 3px 8px; border-bottom: 1px solid rgba(186,146,62,.37); }
.ars-card-icon { color: #f2c355; font-size: 22px; text-shadow: 0 0 12px rgba(255,187,46,.3); }
.ars-card-heading h2 { flex: 1; min-width: 0; margin: 0; color: #f5d47d; font-family: Cinzel, Georgia, serif; font-size: 16px; letter-spacing: .07em; line-height: 1.2; text-transform: uppercase; }
.ars-card-heading > a { color: #67caff; font-size: 11px; text-decoration: none; white-space: nowrap; }
.ars-card-heading > a:hover, .ars-text-link:hover { color: #b9eaff; }
.ars-update { display: grid; grid-template-columns: minmax(110px, 39%) minmax(0,1fr); gap: 12px; padding: 7px 3px; border-bottom: 1px solid rgba(123,159,199,.21); }
.ars-update:last-child { border-bottom: 0; }
.ars-update-image { display: block; height: 101px; overflow: hidden; border: 1px solid #4e617d; background: #071427; }
.ars-update-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .32s; }
.ars-update-image:hover img { transform: scale(1.06); }
.ars-update-label { color: #74caff; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.ars-update h3 { margin: 4px 0 4px; font-family: Cinzel, Georgia, serif; font-size: 13px; line-height: 1.22; }
.ars-update h3 a { color: #f0dfb7; text-decoration: none; }
.ars-update p { margin: 0 0 3px; color: #acbbce; font-family: Georgia, serif; font-size: 11px; line-height: 1.4; }
.ars-text-link { color: #5fc7ff; font-family: Georgia, serif; font-size: 11px; text-decoration: none; }
.ars-leaderboard-head, .ars-leaderboard li { display: grid; grid-template-columns: 36px minmax(0,1fr) 78px; align-items: center; gap: 7px; }
.ars-leaderboard-head { padding: 3px 6px 6px; color: #aebbd0; font-family: Georgia, serif; font-size: 11px; }
.ars-leaderboard-head span:last-child { text-align: right; white-space: nowrap; }
.ars-leaderboard { margin: 0; padding: 0; list-style: none; }
.ars-leaderboard li { min-height: 42px; padding: 3px 6px; border-top: 1px solid rgba(123,159,199,.23); color: #f0d778; font-family: Georgia, serif; font-size: 13px; }
.ars-leaderboard li > a { display: flex; align-items: center; gap: 8px; overflow: hidden; color: #f1d88a; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.ars-leaderboard li > a:hover { color: #fff4c8; }
.ars-leaderboard li > strong { color: #e6eaf0; font-weight: 400; text-align: right; }
.ars-player-rank { color: #dbe5f5; font-size: 16px; text-align: center; }
.ars-player-rank.rank-1 { color: #ffd349; text-shadow: 0 0 8px #bb791c; }
.ars-player-rank.rank-2 { color: #d7e4f7; }
.ars-player-rank.rank-3 { color: #d39a58; }
.ars-player-avatar { display: inline-grid; place-items: center; flex: 0 0 24px; width: 24px; height: 28px; border: 1px solid rgba(210,178,108,.28); color: #c8d9f2; background: linear-gradient(140deg,#203858,#081221); font-size: 17px; }
.ars-no-leaders { display: block !important; padding: 24px 8px !important; color: #bac8db !important; font-size: 13px !important; }
.ars-leaderboard-foot { display: flex; justify-content: space-between; margin-top: 5px; padding: 9px 7px 0; border-top: 1px solid rgba(123,159,199,.22); color: #91cfff; font-size: 11px; text-decoration: none; }
.ars-support-card { display: flex; flex-direction: column; }
.ars-support-art { position: relative; flex: 1; min-height: 174px; overflow: hidden; margin: 0 -16px; background: #08162b; }
.ars-support-art::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(180deg, transparent, rgba(3,11,24,.58)); pointer-events: none; }
.ars-support-art img { display: block; width: 100%; height: 100%; min-height: 174px; object-fit: contain; object-position: center; }
.ars-support-card > p { margin: 9px 3px 8px; color: #d5ddeb; font-family: Georgia, serif; font-size: 13px; line-height: 1.45; }
.ars-store-button { align-self: center; width: min(78%, 320px); min-height: 48px; margin: 0 auto 3px; }

/* Inner pages keep the same parchment-gold trim and deep blue world. */
.asc-section { padding: 76px 0; }
.asc-section-tight { padding: 48px 0 70px; }
.asc-section-alt { background: linear-gradient(180deg, rgba(7,19,38,.25), rgba(8,22,43,.8), rgba(7,19,38,.25)); }
.asc-eyebrow { color: #f2ca64; letter-spacing: .16em; }
.asc-eyebrow::before { background: linear-gradient(90deg, transparent, var(--asc-gold)); }
.asc-button, .asc-btn, .voteActionButton, .voteSiteButton { border-color: #f5d36e; border-radius: 3px; color: #1d1608; background: linear-gradient(180deg,#ffe17e,#edb22e 58%,#c57c12); box-shadow: 0 3px 0 rgba(25,14,3,.72), inset 0 1px rgba(255,255,255,.55); font-family: Cinzel, Georgia, serif; }
.asc-button:hover, .asc-btn:hover, .voteActionButton:hover, .voteSiteButton:hover { color: #171108; box-shadow: 0 5px 0 rgba(25,14,3,.72), 0 0 18px rgba(238,184,66,.25); }
.asc-button-secondary { border-color: #4b9bc9; color: #e7f1ff; background: linear-gradient(180deg,#123d67,#071d3b); box-shadow: inset 0 1px rgba(255,255,255,.16); }
.asc-button-secondary:hover { color: #fff; background: #12365b; }
.asc-panel, .vote-main-card, .vote-panel, .asc-hs-main, .asc-hs-side, .ars-home-card { border-radius: 3px; }
.asc-panel { border-color: rgba(179,142,65,.48); background: linear-gradient(155deg,rgba(8,24,46,.97),rgba(4,13,28,.98)); box-shadow: 0 18px 44px rgba(0,0,0,.36), inset 0 0 25px rgba(31,77,125,.08); }
.asc-page-hero { position: relative; isolation: isolate; overflow: hidden; padding: 78px 0 48px; text-align: center; background: linear-gradient(180deg,rgba(4,12,27,.38),rgba(4,12,27,.9)),url('/assets/img/brand/ascenda-kingdom.png') center 37% / cover no-repeat; border-bottom: 1px solid rgba(203,164,76,.46); }
.asc-page-hero::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(2,8,19,.45),transparent,rgba(2,8,19,.45)); }
.asc-page-hero::after { bottom: 0; width: 100%; background: linear-gradient(90deg,transparent,rgba(225,179,66,.74),transparent); }
.asc-page-hero h1 { margin-bottom: 10px; color: #ffe6a1; font-size: clamp(2.5rem,6vw,4.6rem); letter-spacing: .01em; text-shadow: 0 4px 18px #030918; }
.asc-page-hero p { color: #d4deed; text-shadow: 0 2px 9px #030918; }
.asc-section-heading h2, .asc-cta h2 { color: #f5d981; }
.asc-cta { border-color: #a37b2c; border-radius: 4px; background: linear-gradient(110deg,rgba(6,20,39,.97),rgba(6,14,29,.86)),url('/assets/img/brand/ascenda-kingdom.png') center 55%/cover; }
.asc-download-card.is-primary { border-color: #c99c43; background: linear-gradient(145deg,rgba(14,42,70,.97),rgba(5,16,33,.97)); }
.asc-feature-card, .asc-system-card, .asc-mode-card, .asc-guide-block { border-color: rgba(166,129,55,.45); border-radius: 4px; background-color: rgba(5,17,35,.95); }
.asc-feature-overlay span { color: #edc45d; }
.asc-mode-card:hover { border-color: #e1b84e; }

/* Store keeps its cart and checkout behavior; only its presentation changes. */
.asc-store-trust div { border-color: rgba(185,145,59,.42); border-radius: 3px; color: #e0d0a4; background: rgba(7,20,39,.88); }
.asc-store-category { border-color: rgba(215,169,65,.7); border-radius: 3px; color: #f5d779; background: rgba(87,57,11,.22); }
.asc-store-card { border-color: rgba(173,135,57,.52); border-radius: 3px; background: linear-gradient(145deg,rgba(10,27,51,.98),rgba(4,13,27,.99)); }
.asc-store-card:hover { border-color: #f0c653; box-shadow: 0 12px 32px rgba(0,0,0,.38),0 0 18px rgba(229,176,56,.1); }
.asc-store-price { color: #ffdc7c; }
.asc-store-panel { border: 1px solid rgba(172,133,54,.5); border-radius: 3px; background: rgba(5,16,33,.96); }
.asc-store-extra { border-color: rgba(229,180,68,.48); border-radius: 2px; color: #ffe39a; background: #101a28; }
.asc-input, input, select, textarea { border-color: rgba(121,155,201,.5); border-radius: 3px; color: #e9edf4; background: #07172d; }
.asc-input:focus, input:focus, select:focus, textarea:focus { border-color: #e9c15d; box-shadow: 0 0 0 3px rgba(233,193,93,.13); }

/* Live hiscores and player portal. */
.asc-hiscores .asc-hs-tabs { border-color: rgba(178,139,57,.5); border-radius: 3px; background: #06152a; }
.asc-hiscores .asc-hs-tabs a { border-radius: 2px; }
.asc-hiscores .asc-hs-tabs a.active { color: #1a1408; background: linear-gradient(#ffe17f,#e8aa28); }
.asc-hiscores .asc-hs-side, .asc-hiscores .asc-hs-main { border-color: rgba(176,137,57,.5); border-radius: 3px; background: rgba(5,17,35,.96); }
.asc-hiscores .asc-hs-side a:hover, .asc-hiscores .asc-hs-side a.active { color: #ffe28a; background: rgba(195,143,33,.15); }
.asc-hiscores .hiscores-table { background: rgba(2,9,20,.64); }
.asc-hiscores .hiscores-table th { color: #efd074; background: rgba(155,113,33,.11); }
.asc-hiscores .hiscores-table th, .asc-hiscores .hiscores-table td { border-color: rgba(147,127,86,.22); }
.asc-hiscores .hiscores-table tbody tr:hover { background: rgba(194,148,46,.08); }
.asc-hs-player, .asc-hs-skill-name { color: #f1d581; }
.asc-hs-podium-card { border-color: rgba(189,151,66,.45) !important; border-radius: 3px !important; background: linear-gradient(150deg,#0c2442,#061328) !important; }
.asc-hs-profile-buttons button { border-color: rgba(173,136,54,.48) !important; color: #e8d18c !important; background: #091a32 !important; }
.asc-hs-profile-buttons button.active { color: #211908 !important; background: linear-gradient(#ffe17f,#e8aa28) !important; }
.portal-auth-page .asc-section { min-height: calc(100vh - 150px); padding: 38px 0 56px; }
.portal-auth-page .asc-container { width: min(calc(100% - 40px), 680px); }
.portal-auth-card { border: 1px solid rgba(192,149,54,.56); background: linear-gradient(150deg,rgba(8,25,47,.98),rgba(4,12,27,.98)); box-shadow: var(--asc-shadow); }
.portal-auth-card .asc-eyebrow { margin-bottom: 8px; }
.portal-auth-card h1 { margin: 0 0 10px; font-size: clamp(2rem, 3.2vw, 2.65rem); line-height: 1.16; letter-spacing: .015em; }
.portal-auth-card > p { margin: 0 0 16px; }
.portal-auth-card .portal-form { gap: 13px; margin: 18px 0 14px; }
.portal-auth-card .portal-form label { gap: 5px; font-size: 14px; }
.portal-auth-card .portal-form input:not([type="checkbox"]) { min-height: 44px; padding: 10px 12px; }
.portal-auth-card .portal-form button { justify-self: start; min-width: 190px; min-height: 46px; }
.portal-auth-card .portal-check { display: flex !important; align-items: flex-start; }
.portal-auth-card .portal-check input { margin-top: 5px; }
.portal-auth-card > p:last-child { margin: 0; color: #aebbd0; font-size: 14px; }
.portal-auth-page .ars-footer { margin-top: 0; }
.portal-form label { color: #eadba9; }
.portal-form input { border-color: rgba(118,153,199,.55); border-radius: 3px; background: #06162a; }
.portal-summary .asc-panel, .portal-grid > .asc-panel, .portal-page > .asc-container > .asc-panel { border: 1px solid rgba(177,138,57,.48); border-radius: 3px; background: rgba(6,19,38,.96); }
.portal-summary small { color: #c7b67f; }
.portal-summary strong { color: #f3cf6e; }
.portal-row { border-color: rgba(159,132,76,.24); }
.portal-head { color: #efd074; }
.portal-alert { border-radius: 3px; }
.portal-characters-panel { margin-bottom: 18px; padding: 24px; border: 1px solid rgba(177,138,57,.48); background: rgba(6,19,38,.96); }
.portal-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.portal-section-heading h2 { margin: 4px 0 0; }
.portal-sync-status, .portal-last-sync { color: #9fb3ca; font-size: 12px; }
.portal-sync-status::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #42d59a; box-shadow: 0 0 10px rgba(66,213,154,.55); }
.portal-character-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,340px),1fr)); gap: 12px; }
.portal-character-card { padding: 16px; border: 1px solid rgba(100,143,194,.3); background: linear-gradient(145deg,rgba(10,31,57,.9),rgba(4,14,29,.95)); }
.portal-character-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.portal-character-title strong { color: #ffe08a; font: 700 19px Cinzel,Georgia,serif; }
.portal-character-title span { color: #a9bad0; font-size: 12px; }
.portal-character-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.portal-character-stats span { display: grid; gap: 4px; }
.portal-character-stats small { color: #91a9c6; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.portal-character-stats b { color: #e8edf6; font-size: 15px; font-weight: 600; }
.portal-last-sync { display: block; margin-top: 14px; }

@media (max-width: 760px) {
  .portal-auth-page .asc-section { min-height: auto; padding: 28px 0 40px; }
  .portal-auth-page .asc-container { width: min(calc(100% - 28px), 620px); }
  .portal-auth-card { padding: 24px 20px; }
  .portal-auth-card h1 { font-size: clamp(1.8rem, 8vw, 2.25rem); }
  .portal-auth-card .portal-form button { width: 100%; }
}

.ars-footer { border-top: 1px solid rgba(191,151,65,.45); color: #9baec6; background: #030b18; }
.ars-footer-main { padding: 22px 0 14px; }
.ars-footer-nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 20px; }
.ars-footer-nav a { color: #aabbd2; font-family: Georgia,serif; font-size: 12px; text-decoration: none; }
.ars-footer-nav a:hover { color: #ffe08a; }
.ars-footer-divider span { background: linear-gradient(90deg,transparent,#b48b36,transparent); }
.ars-footer-brand img { width: 116px; max-height: 52px; object-fit: contain; }
.ars-footer-brand p { color: #8397b0; font-family: Cinzel,Georgia,serif; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.ars-footer-bottom { border-top-color: rgba(117,142,175,.18); }

@keyframes ars-arrive { from { opacity: 0; transform: translateY(10px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }

@media (max-width: 1080px) {
  .ars-nav-inner { grid-template-columns: 155px minmax(0,1fr); gap: 12px; }
  .ars-nav-links, .ars-account-actions { gap: 12px; }
  .ars-home-panels { width: min(calc(100% - 36px),1460px); grid-template-columns: 1fr 1fr; }
  .ars-support-card { grid-column: 1 / -1; min-height: 290px; }
  .ars-support-art { min-height: 170px; }
  .ars-hero-signpost { right: 20px; width: 124px; }
}
@media (max-width: 760px) {
  .asc-container { width: min(calc(100% - 30px),var(--asc-container)); }
  .ars-nav-inner { display: grid; grid-template-columns: 1fr auto; min-height: 58px; }
  .ars-brand { height: 50px; }
  .ars-brand img { width: 112px; height: 48px; }
  .asc-menu-toggle { display: grid; width: 42px; height: 42px; align-content: center; justify-items: center; gap: 5px; padding: 8px; border: 1px solid rgba(193,155,68,.58); background: #07172a; }
  .asc-menu-toggle span:not(.asc-sr-only) { display: block; width: 20px; height: 2px; background: #e8c769; }
  .ars-nav-menu { position: absolute; top: 58px; left: 0; right: 0; display: none; align-items: stretch; padding: 12px 18px 17px; border-bottom: 1px solid #b99035; background: #061326; box-shadow: 0 12px 24px rgba(0,0,0,.5); }
  .ars-nav-menu.is-open { display: grid; gap: 12px; }
  .ars-nav-links { display: grid; gap: 0; }
  .ars-nav-link, .ars-community-menu summary { min-height: 42px; width: 100%; }
  .ars-nav-link.is-active::after { right: auto; width: 100%; }
  .ars-community-menu { width: 100%; }
  .ars-community-menu summary { display: flex; }
  .ars-community-popover { position: static; box-shadow: none; }
  .ars-account-actions { justify-content: start; padding-top: 8px; border-top: 1px solid rgba(188,150,65,.3); }
  .ars-home-hero { height: auto; min-height: 670px; padding: 15px 18px 28px; background-position: 56% center; }
  .ars-hero-brand { width: 220px; height: 191px; margin-bottom: 0; }
  .ars-home-hero h1 { font-size: clamp(23px,6vw,31px); letter-spacing: .035em; }
  .ars-hero-motto { top: 18px; right: 17px; font-size: 12px; }
  .ars-hero-signpost { position: relative; top: auto; right: auto; width: min(100%,360px); margin-top: 25px; transform: none; grid-template-columns: 1fr 1fr; gap: 4px; }
  .ars-hero-signpost a, .ars-hero-signpost a:nth-child(even) { margin: 0; transform: none; }
  .ars-hero-actions { display: grid; width: min(100%,380px); margin-inline: auto; }
  .ars-gold-button, .ars-blue-button { min-height: 50px; padding-inline: 17px; font-size: 12px; }
  .ars-home-panels { width: min(calc(100% - 24px),620px); grid-template-columns: 1fr; gap: 12px; margin-top: -8px; }
  .ars-home-card { min-height: auto; }
  .ars-updates-card { min-height: 310px; }
  .ars-leaderboard-card { min-height: 300px; }
  .ars-support-card { grid-column: auto; min-height: 300px; }
  .ars-update { grid-template-columns: 36% minmax(0,1fr); }
  .ars-update-image { height: 108px; }
  .ars-update p { font-size: 11px; }
  .asc-section { padding: 55px 0; }
  .asc-page-hero { padding: 58px 0 38px; }
  .asc-download-grid, .asc-system-grid, .asc-install-steps, .asc-store-products { grid-template-columns: 1fr; }
  .asc-store-layout { grid-template-columns: 1fr; }
  .asc-store-sidebar { position: static; grid-template-columns: 1fr; }
  .asc-store-sidebar form { grid-column: auto; }
  .portal-summary, .portal-grid { grid-template-columns: 1fr; }
  .portal-section-heading { align-items: flex-start; flex-direction: column; }
  .portal-heading { display: block; }
  .ars-footer-nav { gap: 12px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Account hub: an original Ascenda command deck.  It keeps every existing portal route,
   while giving the account area a clear, game-first information hierarchy. */
.asc-portal .asc-site-header { border-bottom-color: rgba(222,174,71,.55); background: rgba(4,11,24,.96); }
.asc-portal .asc-nav-shell { min-height: 64px; }
.asc-portal .asc-brand img { width: 54px; height: 54px; }
.asc-portal .asc-main-nav { gap: 1px; }
.asc-portal .asc-nav-link { font-family: Cinzel, Georgia, serif; font-size: 12px; }
.portal-dashboard-hero { padding: 30px 0 20px; border: 0; background: transparent; }
.portal-dashboard-layout { display: block; padding-top: 22px; }
.portal-dashboard-main-wide { width: 100%; }
.portal-command-wrap { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 24px; }
.portal-command-nav { display: flex; flex: 1; flex-wrap: wrap; gap: 8px; }
.portal-command-nav a, .portal-signout button, .portal-command-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 14px; border: 1px solid rgba(197,151,52,.45); border-radius: 4px; color: #f6e1ad; background: linear-gradient(180deg, rgba(24,31,36,.96), rgba(7,13,21,.98)); box-shadow: inset 0 1px rgba(255,255,255,.06), 0 4px 12px rgba(0,0,0,.25); font-family: Cinzel, Georgia, serif; font-size: 11px; font-weight: 800; letter-spacing: .015em; text-decoration: none; text-transform: uppercase; transition: .18s ease; }
.portal-command-nav a span { color: #f0bf4c; font-size: 15px; line-height: 1; }
.portal-command-nav a:hover, .portal-command-nav a.is-active, .portal-command-button:hover { border-color: #f3c351; color: #1a140a; background: linear-gradient(180deg,#ffe48e,#e6a72d); box-shadow: 0 0 18px rgba(237,180,55,.18), inset 0 1px rgba(255,255,255,.55); }
.portal-command-nav a:hover span, .portal-command-nav a.is-active span { color: #362509; }
.portal-signout { margin: 0; }.portal-signout button { min-height: 42px; color: #bdcbdb; border-color: rgba(111,144,179,.38); cursor: pointer; }
.portal-signout button:hover { color: #fff; border-color: rgba(137,194,237,.65); background: #11243d; }
.portal-identity-card { position: relative; display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 26px; overflow: hidden; min-height: 224px; padding: 31px; border: 1px solid rgba(198,139,45,.72); border-radius: 6px; background: radial-gradient(circle at 83% 8%,rgba(238,178,56,.12),transparent 28%), linear-gradient(115deg,#24160f,#47190e 54%,#1c120d); box-shadow: 0 22px 42px rgba(0,0,0,.34), inset 0 1px rgba(255,220,144,.11); }
.portal-identity-card::before { content:''; position:absolute; inset:0; background:linear-gradient(120deg,transparent 52%,rgba(246,209,133,.06)); pointer-events:none; }
.portal-identity-avatar { position: relative; z-index: 1; display: grid; place-items: center; width: 96px; height: 110px; border: 2px solid #f3c257; outline: 1px solid rgba(255,229,160,.36); outline-offset: 4px; color: #fff0c4; background: linear-gradient(145deg,#162438,#080d16); box-shadow: 0 8px 18px rgba(0,0,0,.38); font-family: Cinzel,Georgia,serif; font-size: 42px; font-weight: 800; }
.portal-identity-copy { position: relative; z-index: 1; max-width: 720px; }.portal-status-row { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }.portal-status-row span { padding:5px 9px; border:1px solid rgba(255,221,145,.33); border-radius:999px; color:#ffd77d; background:rgba(14,10,7,.35); font-family:Cinzel,Georgia,serif; font-size:10px; font-weight:800; text-transform:uppercase; }.portal-status-row .portal-live-badge { color:#0e301f; border-color:#aaf4c7; background:#b9f7cf; }.portal-identity-copy h1 { margin:0 0 8px; color:#fff1c3; font-size:clamp(2rem,4vw,3.3rem); letter-spacing:.015em; }.portal-identity-copy p { max-width:630px; margin:0; color:#f0d6ae; font-size:14px; line-height:1.55; }.portal-identity-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }.portal-identity-actions .portal-command-button { min-height:40px; color:#ffe6a5; }.portal-identity-actions .portal-command-button:hover { color:#261608; }.portal-identity-orbit { position:absolute; width:310px; height:310px; right:-62px; top:-126px; border:1px solid rgba(255,226,153,.18); border-radius:50%; box-shadow:0 0 0 38px rgba(255,226,153,.035),0 0 0 78px rgba(255,226,153,.022); }
.portal-stat-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }.portal-stat-card { position:relative; overflow:hidden; min-height:120px; padding:20px; border-color:rgba(205,161,68,.35); border-radius:5px; background:linear-gradient(145deg,#161714,#0c1118); box-shadow:inset 0 1px rgba(255,230,164,.05),0 12px 22px rgba(0,0,0,.22); }.portal-stat-card::before { content:'✦'; position:absolute; right:13px; top:9px; color:rgba(246,193,75,.22); font-size:27px; }.portal-stat-card>span { color:#e7c66e; }.portal-stat-card strong { color:#fff1bf; font-size:clamp(1.35rem,2.1vw,1.85rem); }.portal-stat-card small { color:#b9b7a5; }.portal-stat-card.is-accent { border-color:rgba(95,196,163,.45); background:linear-gradient(145deg,#10251f,#0a1418); }.portal-stat-card.is-accent strong { color:#9ff0c1; }
.portal-content-grid { gap:14px; }.portal-panel { border-color:rgba(190,148,62,.35); border-radius:5px; background:linear-gradient(145deg,rgba(20,24,24,.98),rgba(7,13,22,.99)); }.portal-panel-head h2 { color:#f5dea1; font-family:Cinzel,Georgia,serif; }.portal-kicker { color:#e7ba54; }.portal-progress-grid>div { border-color:rgba(190,148,62,.25); border-radius:4px; background:rgba(239,183,67,.035); }.portal-progress-grid span { color:#d8be7a; }.portal-progress-grid strong { color:#f6ebca; }.portal-character-list>a:hover,.portal-notification-list a:hover { background:rgba(231,178,62,.06); }.portal-avatar { border-color:rgba(232,184,75,.36); border-radius:4px; color:#ffe299; background:rgba(224,166,48,.08); }
@media (max-width:1050px) { .portal-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.portal-command-wrap { display:block; }.portal-command-nav { margin-bottom:10px; }.portal-signout { display:inline-block; } }
@media (max-width:720px) { .portal-identity-card { grid-template-columns:1fr; gap:18px; padding:24px; }.portal-identity-avatar { width:80px; height:90px; font-size:35px; }.portal-identity-orbit { right:-160px; top:-126px; }.portal-command-nav { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.portal-command-nav a { min-height:40px; padding:0 8px; font-size:9px; }.portal-stat-grid { grid-template-columns:1fr 1fr; }.portal-identity-actions { display:grid; grid-template-columns:1fr; }.portal-identity-actions .portal-command-button { width:100%; } }
.portal-dashboard .asc-section { padding-top: 34px; }
.portal-dashboard .asc-container { width: min(calc(100% - 40px), 1260px); }
.portal-welcome { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:26px 30px; border:1px solid rgba(84,154,221,.3); border-radius:12px; background:radial-gradient(ellipse at 90% 0%,rgba(23,83,142,.32),transparent 50%),linear-gradient(135deg,#0c1e35,#071326); box-shadow:0 16px 38px rgba(0,0,0,.2); }
.portal-welcome h1 { margin:4px 0 7px; font-size:clamp(1.7rem,3vw,2.45rem); }
.portal-welcome p { margin:0; color:#a9bad0; font-size:14px; }
.portal-online-mark { display:inline-block; width:8px;height:8px;margin:0 5px 1px 10px;border-radius:50%;background:#36d6a0;box-shadow:0 0 12px #36d6a0; }
.portal-welcome-actions { display:flex; gap:10px; flex-wrap:wrap; }
.portal-welcome-actions .asc-button { min-height:42px; }
.portal-overview-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:16px 0; }
.portal-overview-card { display:flex;align-items:center;gap:14px;min-height:112px;padding:18px;border:1px solid rgba(97,148,204,.24);border-radius:10px;background:linear-gradient(145deg,rgba(13,34,61,.98),rgba(7,19,37,.98)); }
.portal-overview-icon { display:grid;place-items:center;flex:0 0 44px;height:44px;border:1px solid rgba(64,184,245,.38);border-radius:12px;color:#48cfff;font-size:21px;background:rgba(34,121,190,.12); }
.portal-overview-card div { display:grid;gap:3px;min-width:0; }
.portal-overview-card small,.portal-roster-top small { color:#91a9c6;font-size:10px;letter-spacing:.12em;font-weight:700; }
.portal-overview-card strong { color:#f1f5fc;font-size:25px;line-height:1.15; }
.portal-overview-card strong em { color:#758eaa;font-size:14px;font-style:normal;font-weight:500; }
.portal-overview-card strong.portal-state-good { color:#40d5a0;font-size:19px; }
.portal-overview-card div>span { color:#9aacbf;font-size:11px;line-height:1.4; }
.portal-block { margin:15px 0;padding:22px;border:1px solid rgba(91,147,206,.25);border-radius:11px;background:linear-gradient(145deg,rgba(9,25,47,.98),rgba(5,15,30,.98));box-shadow:0 10px 30px rgba(0,0,0,.12); }
.portal-block-heading { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px; }
.portal-block-heading h2 { margin:2px 0 3px;font-size:clamp(1.2rem,2vw,1.55rem); }
.portal-block-heading p { margin:0;color:#98abc2;font-size:13px; }
.portal-block-heading.compact { margin-bottom:12px; }
.portal-block-heading>a:not(.asc-button) { color:#6dd7ff;font-size:13px;text-decoration:none;white-space:nowrap; }
.portal-cap-badge { padding:8px 12px;border:1px solid rgba(91,147,206,.25);border-radius:7px;color:#9bb0c8;background:rgba(31,57,88,.4);font-size:12px; }
.portal-roster-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px; }
.portal-roster-card { min-width:0;padding:16px;border:1px solid rgba(90,138,189,.25);border-radius:9px;background:linear-gradient(145deg,rgba(14,35,61,.92),rgba(7,20,39,.98));transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.portal-roster-card:hover { transform:translateY(-2px);border-color:rgba(67,190,247,.56);box-shadow:0 10px 24px rgba(0,0,0,.2); }
.portal-roster-card.is-primary { border-color:rgba(212,170,76,.42); }
.portal-roster-top { display:flex;align-items:center;gap:11px;min-width:0; }
.portal-character-emblem { display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid rgba(77,187,244,.4);border-radius:50%;color:#dbedff;font-family:Cinzel,Georgia,serif;font-weight:700;background:linear-gradient(145deg,#174a75,#101d40); }
.is-primary .portal-character-emblem { border-color:rgba(225,185,83,.5);color:#ffe18c; }
.portal-roster-top>div { min-width:0;flex:1; }
.portal-roster-top h3 { overflow:hidden;margin:1px 0 0;color:#f4d687;text-overflow:ellipsis;white-space:nowrap;font-family:Cinzel,Georgia,serif;font-size:17px; }
.portal-link-state { color:#54d6ab;font-size:10px;white-space:nowrap; }
.portal-roster-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 13px;padding:12px 0;border-top:1px solid rgba(106,146,185,.17);border-bottom:1px solid rgba(106,146,185,.17); }
.portal-roster-stats span { display:grid;gap:3px;min-width:0; }
.portal-roster-stats small { color:#879fb9;font-size:9px;text-transform:uppercase;letter-spacing:.08em; }
.portal-roster-stats b { overflow:hidden;color:#e6edf6;font-size:13px;text-overflow:ellipsis;white-space:nowrap; }
.portal-roster-foot { display:flex;justify-content:space-between;gap:8px;color:#90a5bd;font-size:10px; }
.portal-roster-foot span:last-child { text-align:right; }
.portal-content-grid { display:grid;grid-template-columns:1fr 1fr;gap:15px; }
.portal-content-grid .portal-block { min-width:0;margin:0; }
.portal-empty { display:flex;align-items:center;gap:8px;min-height:94px;padding:17px;border:1px dashed rgba(100,145,192,.28);border-radius:8px;color:#9eb0c5;background:rgba(8,21,39,.5);font-size:13px; }
.portal-empty strong { color:#e7edf6; }
.portal-empty a { margin-left:auto;color:#5acdf7;text-decoration:none;white-space:nowrap; }
.portal-empty.small { min-height:78px; }
.portal-data-list { display:grid; }
.portal-data-list article { display:flex;gap:12px;padding:12px 2px;border-bottom:1px solid rgba(107,146,185,.14); }
.portal-data-list article:last-child { border-bottom:0; }
.portal-history-dot { flex:0 0 9px;height:9px;margin-top:5px;border-radius:50%;background:#e5ad4c;box-shadow:0 0 9px rgba(229,173,76,.35); }
.portal-data-list article>div { min-width:0; }
.portal-data-list strong,.portal-message-list strong { color:#e5edf8;font-size:13px; }
.portal-data-list p { margin:3px 0;color:#a4b2c4;font-size:12px; }
.portal-data-list small,.portal-message-list small { color:#8499b2;font-size:10px; }
.portal-message-list article { padding:12px;border-bottom:1px solid rgba(107,146,185,.14); }
.portal-message-list article:last-child { border:0; }
.portal-message-list article.is-unread { border-left:2px solid #49c7f6;background:rgba(39,115,171,.1); }
.portal-message-list article>div { display:flex;justify-content:space-between;gap:8px; }
.portal-message-list p { margin:7px 0 0;color:#a7b5c7;font-size:12px;line-height:1.55; }
.portal-order-list article { display:flex;align-items:center;gap:12px;padding:12px 2px;border-top:1px solid rgba(107,146,185,.14); }
.portal-order-icon { display:grid;place-items:center;flex:0 0 35px;height:35px;border-radius:9px;color:#f1c85f;background:rgba(195,145,40,.12); }
.portal-order-list article>div { display:grid;flex:1;gap:3px; }
.portal-order-list strong { color:#e6edf6;font-size:13px; }
.portal-order-list small { color:#8da2bb;font-size:10px; }
.portal-order-list article>b { color:#f0d587;font-size:13px; }
.portal-order-status { padding:5px 8px;border-radius:20px;color:#f1c165;background:rgba(180,126,31,.13);font-size:10px;white-space:nowrap; }
.portal-order-status.is-done { color:#50d2a5;background:rgba(33,171,124,.12); }
.portal-help-strip { display:flex;justify-content:space-between;gap:16px;padding:14px 4px;color:#91a5bc;font-size:12px; }
.portal-help-strip a { color:#65d2fa;text-decoration:none; }
.portal-account-note { margin:12px 0;padding:12px 14px;border:1px solid rgba(62,164,219,.24);border-radius:7px;color:#a9bfd3;background:rgba(17,74,111,.16);font-size:12px;line-height:1.5; }
.portal-auth-card .portal-form label small { color:#8fa5bd;font-size:11px;font-weight:400; }
.portal-character-password-reset { display:inline-flex; margin-top:12px; color:#70d5ff; font-size:12px; font-weight:700; }
.portal-character-password-reset:hover { color:#f0cd7a; }
@media(max-width:900px) { .portal-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-roster-grid{grid-template-columns:1fr}.portal-content-grid{grid-template-columns:1fr}.portal-welcome{align-items:flex-start;flex-direction:column} }
@media(max-width:560px) { .portal-dashboard .asc-container{width:min(calc(100% - 26px),1260px)}.portal-overview-grid{gap:8px}.portal-overview-card{min-height:98px;padding:12px;gap:9px}.portal-overview-icon{flex-basis:34px;height:34px;font-size:17px}.portal-overview-card strong{font-size:21px}.portal-welcome{padding:20px}.portal-block{padding:16px}.portal-block-heading{align-items:flex-start}.portal-block-heading .asc-button{padding:9px 11px;font-size:12px}.portal-roster-foot{flex-direction:column}.portal-roster-foot span:last-child{text-align:left}.portal-order-list article{gap:8px}.portal-order-status{font-size:9px;padding:4px 6px}.portal-help-strip{flex-direction:column} }

/* Player portal: account data in a compact, interactive sapphire and gold hub. */
.portal-dashboard { background: radial-gradient(circle at 60% 0%,#102c52 0,#050e1e 33%,#030a16 75%); }
.portal-dashboard .asc-section { padding: 22px 0 64px; }
.portal-dashboard .asc-container { width: min(calc(100% - 36px), 1360px); }
.portal-shell > [id] { scroll-margin-top: 118px; }
.portal-dashboard #history,.portal-dashboard #messages,.portal-dashboard #orders,.portal-dashboard #security { scroll-margin-top: 118px; }
.portal-hero { position: relative; display: flex; align-items: end; justify-content: space-between; gap: 28px; min-height: 310px; overflow: hidden; padding: 38px 44px; border: 1px solid rgba(98,174,244,.43); border-radius: 15px; background: #081831 url('/assets/img/brand/ascenda-kingdom.png') center 48% / cover no-repeat; box-shadow: 0 28px 56px rgba(0,0,0,.3), inset 0 0 0 1px rgba(224,179,77,.08); }
.portal-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(3,12,28,.96) 0%,rgba(3,13,32,.86) 36%,rgba(3,12,28,.16) 80%),linear-gradient(0deg,rgba(3,10,23,.8),transparent 62%); }
.portal-hero::after { content: ''; position: absolute; inset: auto 0 0; height: 2px; background: linear-gradient(90deg,transparent,#41caff,#e2ba5b,transparent); opacity: .8; }
.portal-hero-copy,.portal-hero-side { position: relative; z-index: 1; }
.portal-hero-kicker { display: flex; align-items: center; gap: 11px; color: #9fdbff; font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.portal-hero-kicker span { width: 34px; height: 1px; background: #efc765; box-shadow: 0 0 12px #efc765; }
.portal-hero h1 { margin: 13px 0 6px; font-size: clamp(2.1rem,4.3vw,3.5rem); line-height: 1.04; text-shadow: 0 4px 24px rgba(0,0,0,.54); }
.portal-hero h1 em { color: #ffdc7a; font-style: normal; }
.portal-hero p { max-width: 575px; margin: 0; color: #c1d3e8; font-size: 14px; }
.portal-hero-meta,.portal-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.portal-hero-actions { margin-top: 21px; }
.portal-hero-actions .asc-button { min-height: 42px; padding: 10px 18px; border-radius: 6px; font-family: Inter,'Segoe UI',sans-serif; font-weight: 750; }
.portal-world-pill,.portal-verified-pill { display: inline-flex; align-items: center; gap: 9px; min-height: 29px; padding: 4px 11px; border: 1px solid rgba(81,157,213,.42); border-radius: 99px; color: #c8e7ff; background: rgba(2,18,37,.72); font-size: 11px; font-weight: 700; }
.portal-world-pill i { width: 7px; height: 7px; border-radius: 50%; background: #8096ac; }
.portal-world-pill.is-online { color: #83f7cf; border-color: rgba(54,214,160,.46); }
.portal-world-pill.is-online i { background: #36d6a0; box-shadow: 0 0 12px #36d6a0; animation: portal-pulse 2s ease-in-out infinite; }
.portal-world-pill.is-offline { color: #ffb9a1; border-color: rgba(234,118,96,.45); }
.portal-world-pill.is-offline i { background: #ed8268; }
.portal-verified-pill { color: #e8d9ae; border-color: rgba(225,182,85,.33); }
.portal-hero-side { display: grid; align-content: end; gap: 5px; min-width: 215px; padding: 22px 0 3px 24px; border-left: 1px solid rgba(124,200,255,.43); color: #d6ecff; text-shadow: 0 2px 12px #051123; }
.portal-hero-side span,.portal-hero-side small { color: #7acffc; font-size: 10px; letter-spacing: .32em; }
.portal-hero-side strong { font-family: Cinzel,Georgia,serif; font-size: 18px; line-height: 1.35; letter-spacing: .09em; }
.portal-tabs { position: sticky; top: 56px; z-index: 25; display: flex; align-items: center; gap: 3px; overflow-x: auto; margin: 14px 0 17px; padding: 5px; border: 1px solid rgba(87,145,204,.3); border-radius: 10px; background: rgba(5,18,37,.92); backdrop-filter: blur(18px); scrollbar-width: thin; }
.portal-tabs a { display: inline-flex; align-items: center; gap: 8px; min-height: 37px; padding: 8px 13px; border-radius: 7px; color: #adc6df; font-size: 12px; font-weight: 700; text-decoration: none; white-space: nowrap; transition: color .2s,background .2s; }
.portal-tabs a:hover,.portal-tabs a:focus-visible { color: #f9dc91; background: rgba(48,107,167,.23); }
.portal-tabs a.is-active { color: #eaf8ff; background: linear-gradient(125deg,rgba(19,111,174,.54),rgba(40,82,153,.32)); box-shadow: inset 0 -2px #5bd5ff; }
.portal-tab-count { display: inline-grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 30px; color: #061421; background: #efc359; font-size: 10px; }
.portal-dashboard .portal-overview-grid { margin: 0 0 17px; }
.portal-dashboard .portal-overview-card { position: relative; min-height: 126px; border-color: rgba(91,169,236,.35); border-radius: 11px; background: linear-gradient(135deg,rgba(17,47,82,.94),rgba(5,18,37,.98)); box-shadow: inset 0 1px rgba(130,203,255,.08); transition: transform .2s,border-color .2s; }
.portal-dashboard .portal-overview-card:hover { transform: translateY(-3px); border-color: rgba(106,203,255,.68); }
.portal-dashboard .portal-overview-card::after { content: ''; position: absolute; inset: auto 15px 0; height: 2px; background: linear-gradient(90deg,#39bfff,transparent); opacity: .75; }
.portal-dashboard .portal-overview-card:nth-child(2)::after { background: linear-gradient(90deg,#a17fff,transparent); }
.portal-dashboard .portal-overview-card:nth-child(3)::after { background: linear-gradient(90deg,#4ce3ab,transparent); }
.portal-dashboard .portal-overview-card:nth-child(4)::after { background: linear-gradient(90deg,#f2c75d,transparent); }
.portal-dashboard .portal-overview-card small { color: #a5dafa; }
.portal-dashboard .portal-overview-card strong { font-size: 29px; }
.portal-dashboard .portal-overview-card strong.portal-state-good { color: #54e3b6; font-size: 23px; }
.portal-dashboard .portal-overview-card strong.portal-state-alert { color: #ffae76; font-size: 23px; }
.portal-dashboard .portal-block { margin: 0 0 17px; border-color: rgba(88,149,212,.35); border-radius: 11px; background: linear-gradient(155deg,rgba(12,35,64,.95),rgba(4,15,31,.98)); box-shadow: inset 0 1px rgba(139,198,255,.05),0 18px 38px rgba(0,0,0,.16); }
.portal-dashboard .portal-block-heading h2 { margin-top: 5px; }
.portal-dashboard .portal-block-heading .asc-eyebrow { color: #61cfff; font-size: 10px; letter-spacing: .16em; }
.portal-dashboard .portal-roster-card { position: relative; padding: 20px; border-radius: 10px; border-color: rgba(77,152,225,.34); background: radial-gradient(circle at 100% 0%,rgba(31,91,157,.28),transparent 48%),linear-gradient(155deg,#0c2848,#07182f 72%); }
.portal-dashboard .portal-roster-card.is-primary { border-color: rgba(237,194,98,.55); }
.portal-dashboard .portal-roster-card::before { content: ''; position: absolute; inset: 0 0 auto; height: 2px; background: linear-gradient(90deg,#40caff,transparent); }
.portal-dashboard .portal-roster-card.is-primary::before { background: linear-gradient(90deg,#f3ce6b,transparent); }
.portal-dashboard .portal-character-emblem { width: 48px; height: 48px; flex-basis: 48px; border-radius: 11px; background: linear-gradient(145deg,#1c659b,#14254d); box-shadow: 0 0 20px rgba(31,157,255,.17); }
.portal-dashboard .portal-roster-top h3 { font-size: 20px; }
.portal-dashboard .portal-roster-stats { margin: 18px 0 12px; padding: 15px 0; }
.portal-roster-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.portal-roster-actions a { display: inline-flex; align-items: center; min-height: 33px; padding: 6px 11px; border: 1px solid rgba(102,186,239,.34); border-radius: 6px; color: #9bdfff; background: rgba(19,74,116,.23); font-size: 11px; font-weight: 700; text-decoration: none; transition: border-color .2s,background .2s; }
.portal-roster-actions a:hover { border-color: #84d7ff; background: rgba(35,105,160,.35); }
.portal-quick-links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 17px; }
.portal-quick-links a { position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr) 15px; align-items: center; column-gap: 10px; min-height: 74px; padding: 12px 14px; border: 1px solid rgba(104,158,209,.32); border-radius: 9px; background: linear-gradient(140deg,rgba(13,39,70,.92),rgba(5,18,35,.95)); text-decoration: none; transition: transform .2s,border-color .2s,box-shadow .2s; }
.portal-quick-links a:hover { transform: translateY(-3px); border-color: rgba(94,202,255,.7); box-shadow: 0 12px 25px rgba(0,0,0,.18); }
.portal-quick-links a > span { grid-row: span 2; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; color: #66d0ff; background: rgba(52,160,227,.14); font-size: 20px; }
.portal-quick-links strong { align-self: end; color: #e9f5ff; font-size: 12px; }
.portal-quick-links small { align-self: start; color: #86a7c3; font-size: 10px; }
.portal-quick-links i { grid-column: 3; grid-row: 1 / 3; color: #9ccbf3; font-size: 15px; font-style: normal; }
.portal-filter-label { display: flex; align-items: center; gap: 8px; color: #93abc3; font-size: 11px; }
.portal-filter-label select { max-width: 140px; min-height: 31px; padding: 5px 8px; border: 1px solid rgba(103,168,223,.42); border-radius: 6px; color: #e4f3ff; background: #071b34; font: inherit; }
.portal-filter-label select:focus-visible,.portal-inline-form button:focus-visible { outline: 2px solid #71d9ff; outline-offset: 2px; }
.portal-filter-empty { margin: 12px 0 0; color: #a9bbce; font-size: 12px; }
.portal-filter-empty[hidden] { display: none; }
.portal-data-list article[hidden],.portal-order-list article[hidden] { display: none !important; }
.portal-heading-count { margin-left: 5px; color: #6dd7ff; font-family: Inter,'Segoe UI',sans-serif; font-size: 11px; font-weight: 600; white-space: nowrap; }
.portal-inline-form { margin: 0; }
.portal-inline-form button { padding: 5px 0; border: 0; color: #72d8ff; background: transparent; font-family: Inter,'Segoe UI',sans-serif; font-size: 11px; font-weight: 700; cursor: pointer; }
.portal-inline-form button:hover { color: #f3cf77; }
.portal-message-list article .portal-inline-form { margin-top: 6px; }
.portal-history-dot.is-active { background: #ff8f69; box-shadow: 0 0 10px rgba(255,121,88,.55); }
.portal-lower-grid { align-items: stretch; }
.portal-security-facts { display: grid; gap: 0; }
.portal-security-facts > div { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid rgba(115,160,207,.15); }
.portal-security-facts span { color: #8da9c6; font-size: 11px; }
.portal-security-facts strong { overflow-wrap: anywhere; color: #dceaf8; font-size: 12px; font-weight: 650; text-align: right; }
.portal-security-action { display: flex; justify-content: space-between; margin: 15px 0 20px; padding: 10px 12px; border: 1px solid rgba(98,181,236,.35); border-radius: 6px; color: #93d9ff; background: rgba(28,95,148,.16); font-size: 12px; font-weight: 700; text-decoration: none; }
.portal-security-action:hover { border-color: #71d9ff; background: rgba(38,118,175,.24); }
.portal-activity-heading { padding-bottom: 8px; border-bottom: 1px solid rgba(115,160,207,.15); color: #d4e8fb; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.portal-activity-list > div { display: grid; grid-template-columns: 8px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 10px 0; border-bottom: 1px solid rgba(115,160,207,.12); color: #b9cde1; font-size: 11px; }
.portal-activity-list time { color: #7898b8; font-size: 10px; white-space: nowrap; }
.portal-activity-spark { width: 7px; height: 7px; border-radius: 50%; background: #47bcf5; box-shadow: 0 0 10px rgba(65,188,248,.45); }
.portal-muted-small { color: #9bb0c9; font-size: 12px; }
.portal-dashboard .portal-help-strip { justify-content: flex-start; align-items: center; gap: 20px; }
.portal-dashboard .portal-help-strip a:last-child { margin-left: auto; }
@keyframes portal-pulse { 50% { box-shadow: 0 0 3px #36d6a0; opacity: .66; } }
@media(max-width:1100px) { .portal-quick-links { grid-template-columns: repeat(2,minmax(0,1fr)); } .portal-hero-side { display: none; } }
@media(max-width:900px) { .portal-dashboard .portal-overview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .portal-dashboard .portal-roster-grid,.portal-dashboard .portal-content-grid { grid-template-columns: 1fr; } }
@media(max-width:600px) { .portal-dashboard .asc-container { width: min(calc(100% - 24px),1360px); } .portal-hero { min-height: 0; padding: 28px 20px; background-position: 64% center; } .portal-hero::before { background: linear-gradient(90deg,rgba(3,12,28,.95),rgba(3,12,28,.68)); } .portal-hero h1 { font-size: clamp(1.8rem,9vw,2.6rem); } .portal-hero-actions .asc-button { width: 100%; text-align: center; } .portal-tabs { top: 55px; margin: 10px 0 14px; } .portal-tabs a { padding: 7px 10px; } .portal-dashboard .portal-overview-card { min-height: 105px; padding: 12px; gap: 8px; } .portal-dashboard .portal-overview-card strong { font-size: 21px; } .portal-dashboard .portal-overview-card strong.portal-state-good,.portal-dashboard .portal-overview-card strong.portal-state-alert { font-size: 17px; } .portal-quick-links { gap: 8px; } .portal-quick-links a { grid-template-columns: 30px minmax(0,1fr); min-height: 68px; padding: 10px; } .portal-quick-links a>span { width: 30px; height: 30px; font-size: 16px; } .portal-quick-links i { display: none; } .portal-activity-list>div { grid-template-columns: 8px 1fr; } .portal-activity-list time { grid-column: 2; } .portal-dashboard .portal-help-strip { flex-wrap: wrap; } .portal-dashboard .portal-help-strip a:last-child { margin-left: 0; } }
@media(prefers-reduced-motion:reduce) { .portal-world-pill.is-online i { animation: none; } }

/* The account forms keep the same portal palette without adding extra steps. */
.portal-auth-page { background: radial-gradient(circle at 50% 5%,rgba(22,66,116,.58),transparent 34%),#030b19; }
.portal-auth-page .asc-section { position: relative; padding-top: 54px; }
.portal-auth-page .asc-section::before { content: ''; position: absolute; inset: 0 0 auto; height: min(430px,60vh); background: linear-gradient(0deg,#030b19,rgba(3,11,25,.18)),url('/assets/img/brand/ascenda-kingdom.png') center 44% / cover no-repeat; opacity: .32; pointer-events: none; }
.portal-auth-page .asc-container { position: relative; z-index: 1; width: min(calc(100% - 32px),600px); }
.portal-auth-page .portal-auth-card { position: relative; overflow: hidden; padding: clamp(24px,4vw,38px); border: 1px solid rgba(90,181,240,.42); border-radius: 13px; background: linear-gradient(155deg,rgba(12,34,62,.98),rgba(4,15,31,.99)); box-shadow: 0 30px 70px rgba(0,0,0,.42),inset 0 1px rgba(155,209,248,.1); }
.portal-auth-page .portal-auth-card::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg,#36c7ff,#707dff,#f0c966); }
.portal-auth-page .portal-auth-card .asc-eyebrow { color: #68d3ff; letter-spacing: .18em; }
.portal-auth-page .portal-auth-card h1 { color: #f4f7ff; font-size: clamp(1.65rem,3vw,2.25rem); }
.portal-auth-page .portal-auth-card .asc-muted { color: #adc5df; }
.portal-auth-page .portal-auth-card .portal-form input:not([type="checkbox"]) { border: 1px solid rgba(105,167,220,.45); border-radius: 6px; color: #f1f7ff; background: rgba(3,15,32,.8); }
.portal-auth-page .portal-auth-card .portal-form input:not([type="checkbox"]):focus-visible { outline: 2px solid #63cfff; outline-offset: 2px; }
.portal-auth-page .portal-auth-card .asc-button { box-shadow: 0 8px 23px rgba(0,117,224,.2); }
.portal-auth-page .portal-auth-card a:not(.asc-button) { color: #7edaff; }
.portal-auth-page .portal-auth-card a:not(.asc-button):hover { color: #f3d37d; }
@media(max-width:600px) { .portal-auth-page .asc-section { padding-top: 28px; } .portal-auth-page .portal-auth-card { padding: 24px 20px; } }

/* Ascenda's old-world visual language.  These rules intentionally come last so every
   established page (store, voting, guides, hiscores and account tools) shares it. */
:root { --asc-bg:#120c07; --asc-bg-soft:#21150b; --asc-panel:#21170e; --asc-panel-solid:#1b1109; --asc-panel-bright:#3a2614; --asc-line:rgba(223,174,82,.30); --asc-line-strong:rgba(255,213,121,.68); --asc-text:#f4ead4; --asc-muted:#c6b798; --asc-cyan:#d5a847; --asc-cyan-soft:#ffe29a; --asc-gold:#e5b652; --asc-gold-soft:#ffe7a9; --asc-shadow:0 22px 58px rgba(0,0,0,.58); }
html { background:#100a06; }
body { color:var(--asc-text); background:radial-gradient(ellipse at 50% -20%,rgba(113,67,25,.48),transparent 47%),radial-gradient(ellipse at 5% 72%,rgba(74,42,13,.31),transparent 36%),linear-gradient(180deg,#201308 0%,#120b07 43%,#0d0805 100%); font-family:Manrope,system-ui,sans-serif; }
body::before { display:block; z-index:-1; opacity:.32; background-image:linear-gradient(rgba(255,232,180,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,232,180,.02) 1px,transparent 1px); background-size:45px 45px; mask-image:linear-gradient(to bottom,#000,transparent 86%); }
body::after { content:''; position:fixed; z-index:-1; inset:0; pointer-events:none; opacity:.54; background:radial-gradient(circle at 16% 24%,rgba(255,199,91,.56) 0 1px,transparent 2px),radial-gradient(circle at 76% 14%,rgba(255,221,137,.4) 0 1px,transparent 2px),radial-gradient(circle at 87% 66%,rgba(248,175,59,.3) 0 1px,transparent 2px),radial-gradient(circle at 30% 80%,rgba(255,207,103,.28) 0 1px,transparent 2px); background-size:320px 270px,440px 370px,540px 430px,390px 330px; animation:asc-embers 18s linear infinite; }
@keyframes asc-embers { from { background-position:0 0,0 0,0 0,0 0; } to { background-position:38px -120px,-44px -160px,58px -96px,-35px -132px; } }
h1,h2,h3,h4 { color:#ffedbd; font-family:Cinzel,Georgia,serif; text-shadow:0 2px 3px #110903; }
p { color:#d7c8a8; }.asc-muted { color:#c8b790; }.asc-eyebrow,.portal-kicker { color:#eac064; }.asc-eyebrow::before { background:linear-gradient(90deg,transparent,#e3b34e); }
.asc-ambient { filter:blur(140px); opacity:.14; }.asc-ambient-one { background:#cf8a35; }.asc-ambient-two { background:#714319; }

/* A carved timber and aged-gold header replaces the former cool-blue navigation. */
.ars-header,.asc-site-header { border-bottom:1px solid #9d6c2d; background:linear-gradient(180deg,rgba(47,29,14,.98),rgba(20,12,7,.98)); box-shadow:0 5px 20px rgba(0,0,0,.52),inset 0 -1px rgba(255,220,141,.09); }
.ars-navbar { border:0; background:transparent; }.ars-nav-inner { min-height:64px; grid-template-columns:188px minmax(0,1fr); }.ars-brand img { width:142px; height:57px; filter:drop-shadow(0 3px 8px rgba(0,0,0,.7)); }.ars-nav-links { gap:clamp(13px,2.2vw,35px); }.ars-nav-link,.ars-community-menu summary { min-height:63px; color:#e7d6b0; font-size:12px; text-shadow:0 1px #120b06; }.ars-nav-link:hover,.ars-nav-link.is-active { color:#ffe49a; }.ars-nav-link.is-active::after { height:3px; background:linear-gradient(90deg,transparent,#d99e39,#fff1bc,#d99e39,transparent); box-shadow:0 0 9px rgba(245,188,69,.72); }.ars-sign-in { border-color:rgba(235,188,84,.36); color:#f1e0b7; background:rgba(15,9,5,.35); }.ars-user-icon { border-color:#bc8737; color:#ffd66d; }.ars-create-account,.asc-button,.asc-btn,.voteActionButton,.voteSiteButton { border-color:#ffdb75; color:#271706; background:linear-gradient(180deg,#ffe399,#d99a2d 56%,#9d5e13); box-shadow:0 3px 0 rgba(42,22,4,.8),inset 0 1px rgba(255,255,255,.62),0 0 19px rgba(202,139,41,.14); }.ars-create-account:hover,.asc-button:hover,.asc-btn:hover,.voteActionButton:hover,.voteSiteButton:hover { color:#1e1104; filter:brightness(1.12); box-shadow:0 5px 0 rgba(42,22,4,.8),inset 0 1px rgba(255,255,255,.72),0 0 23px rgba(239,180,66,.25); }

/* Stone-framed surfaces and parchment-content treatment for every existing page type. */
.asc-panel,.ars-home-card,.asc-feature-card,.asc-system-card,.asc-mode-card,.asc-guide-block,.asc-store-card,.asc-store-panel,.vote-main-card,.vote-panel,.asc-hs-main,.asc-hs-side,.portal-block,.portal-overview-card,.portal-roster-card,.portal-auth-page .portal-auth-card { border:1px solid rgba(190,139,53,.62); border-radius:5px; background:linear-gradient(145deg,rgba(55,38,22,.96),rgba(23,14,8,.985)); box-shadow:inset 0 1px rgba(255,226,159,.11),inset 0 0 0 3px rgba(0,0,0,.14),0 16px 35px rgba(0,0,0,.34); }
.asc-panel::before,.asc-store-card::before,.vote-panel::before { border-color:rgba(250,212,129,.17); }
.asc-page-hero { background:linear-gradient(180deg,rgba(35,19,8,.4),rgba(20,11,6,.91)),url('/assets/img/brand/ascenda-kingdom.png') center 37%/cover no-repeat; border-bottom-color:rgba(215,164,67,.56); }.asc-page-hero h1 { color:#ffe4a0; }.asc-page-hero p { color:#ead6aa; }
.asc-home { background:transparent; }.ars-home-hero { background-color:#2a180b; }.ars-hero-shade { background:linear-gradient(180deg,rgba(27,13,5,.12),rgba(26,12,4,.12) 36%,rgba(21,10,4,.52) 75%,rgba(15,8,4,.9)),linear-gradient(90deg,rgba(21,10,4,.41),transparent 25%,transparent 75%,rgba(21,10,4,.41)); }.ars-home-hero h1,.ars-home-hero h1 .ars-title-gold { color:#ffe4a0; }.ars-home-hero h1 span,.ars-hero-subtitle { color:#fff1ce; }.ars-blue-button { border-color:#c48a36; color:#fff0c3; background:linear-gradient(180deg,#6d4118,#2a1608); box-shadow:0 4px 0 rgba(22,11,3,.78),inset 0 1px rgba(255,238,194,.16); }.ars-blue-button::before { border-color:rgba(255,213,125,.3); }.ars-home-card { background:linear-gradient(155deg,rgba(54,36,19,.985),rgba(20,12,7,.99)); }.ars-card-heading { border-bottom-color:rgba(217,167,71,.42); }.ars-card-heading h2,.ars-leaderboard li>a,.ars-update h3 a { color:#f7d987; }.ars-card-heading>a,.ars-text-link,.ars-leaderboard-foot { color:#f0c966; }.ars-update { border-bottom-color:rgba(220,177,92,.19); }.ars-update-image { border-color:#8c652d; }.ars-update p,.ars-support-card>p { color:#d8c6a0; }.ars-leaderboard-head { color:#cbb993; }.ars-leaderboard li { border-top-color:rgba(220,177,92,.18); color:#f4d681; }.ars-leaderboard li>strong { color:#eadfc8; }.ars-player-avatar { border-color:rgba(224,181,89,.35); color:#ffe6a6; background:linear-gradient(140deg,#62411e,#1c1008); }
.asc-cta { border-color:#b88735; background:linear-gradient(110deg,rgba(58,36,15,.98),rgba(33,18,8,.9)),url('/assets/img/brand/ascenda-kingdom.png') center/cover; }.asc-section-alt { background:linear-gradient(180deg,rgba(82,50,17,.1),rgba(42,25,11,.38),rgba(82,50,17,.08)); }
input,select,textarea,.asc-input,.portal-filter-label select { border-color:rgba(216,170,76,.53); color:#faedcf; background:#1c1109; box-shadow:inset 0 1px rgba(255,231,172,.06); } input:focus,select:focus,textarea:focus,.asc-input:focus { border-color:#ffd56e; box-shadow:0 0 0 3px rgba(237,183,66,.16); }
.asc-hiscores .asc-hs-tabs,.asc-hiscores .asc-hs-side,.asc-hiscores .asc-hs-main,.asc-hiscores .hiscores-table { border-color:rgba(194,145,54,.53); background:rgba(29,17,9,.94); }.asc-hiscores .asc-hs-tabs a.active { color:#251506; background:linear-gradient(#ffe492,#d59627); }.asc-hiscores .asc-hs-side a:hover,.asc-hiscores .asc-hs-side a.active,.asc-hiscores .hiscores-table tbody tr:hover { color:#ffe9ad; background:rgba(213,155,48,.12); }.asc-hiscores .hiscores-table th { color:#f4d47c; background:rgba(173,111,25,.15); }.asc-hiscores .hiscores-table th,.asc-hiscores .hiscores-table td { border-color:rgba(197,151,68,.2); }
.asc-site-footer { border-top-color:#916427; background:linear-gradient(180deg,#1e1108,#110904); }.asc-footer-brand strong,.asc-footer-links strong { color:#f4d486; }.asc-site-footer a:hover { color:#ffe7a5; }

/* Account pages retain their data and forms, but now live in the same old-world UI. */
.portal-dashboard,.portal-auth-page { background:transparent; }.portal-dashboard-hero { background:transparent; }.portal-command-nav a,.portal-signout button,.portal-command-button { border-color:rgba(212,161,64,.52); color:#f8e1a2; background:linear-gradient(180deg,#473018,#1b1008); }.portal-command-nav a span { color:#ffd66c; }.portal-command-nav a:hover,.portal-command-nav a.is-active,.portal-command-button:hover { border-color:#ffe08a; color:#2a1705; background:linear-gradient(180deg,#ffe596,#d79929); }.portal-signout button:hover { color:#fff0cc; border-color:#e5b758; background:#51331b; }.portal-identity-card { border-color:#d39a35; background:radial-gradient(circle at 83% 8%,rgba(248,192,69,.16),transparent 28%),linear-gradient(115deg,#4b2913,#6c2b10 54%,#271307); }.portal-identity-avatar { background:linear-gradient(145deg,#6d431c,#211105); }.portal-identity-orbit { border-color:rgba(255,221,145,.24); }.portal-stat-card { border-color:rgba(201,148,53,.45); background:linear-gradient(145deg,#392516,#1b1009); }.portal-stat-card::before { color:rgba(250,196,72,.28); }.portal-stat-card>span,.portal-kicker { color:#eaca76; }.portal-stat-card strong { color:#fff0bb; }.portal-stat-card small { color:#ccb98f; }.portal-stat-card.is-accent { border-color:rgba(107,190,105,.5); background:linear-gradient(145deg,#263a1c,#10190c); }.portal-stat-card.is-accent strong { color:#bbef9c; }.portal-panel { border-color:rgba(191,139,51,.44); background:linear-gradient(145deg,rgba(54,37,20,.98),rgba(20,12,7,.99)); }.portal-panel-head h2 { color:#ffe1a1; }.portal-progress-grid>div { border-color:rgba(202,151,58,.28); background:rgba(229,173,60,.055); }.portal-progress-grid span { color:#e0c27a; }.portal-progress-grid strong { color:#fff1ca; }.portal-avatar { border-color:rgba(233,181,67,.48); color:#ffe8aa; background:rgba(209,145,32,.13); }.portal-character-list>a:hover,.portal-notification-list a:hover { background:rgba(231,174,58,.1); }
.portal-auth-page { background:radial-gradient(circle at 50% 5%,rgba(101,58,18,.52),transparent 34%),#100906; }.portal-auth-page .asc-section::before { background:linear-gradient(0deg,#100906,rgba(28,13,5,.22)),url('/assets/img/brand/ascenda-kingdom.png') center 44%/cover no-repeat; }.portal-auth-page .portal-auth-card { border-color:rgba(210,155,55,.6); background:linear-gradient(155deg,rgba(70,43,19,.98),rgba(24,13,7,.99)); }.portal-auth-page .portal-auth-card::before { background:linear-gradient(90deg,#bc7622,#f1c958,#9b5515); }.portal-auth-page .portal-auth-card .asc-eyebrow,.portal-auth-page .portal-auth-card a:not(.asc-button) { color:#f4ce70; }.portal-auth-page .portal-auth-card .asc-muted { color:#dbc49b; }.portal-auth-page .portal-auth-card .portal-form input:not([type="checkbox"]) { border-color:rgba(222,171,72,.47); color:#fff3d7; background:rgba(25,13,6,.84); }
@media(max-width:780px) { .ars-nav-inner { grid-template-columns:1fr auto; }.ars-brand img { width:115px; }.ars-nav-menu { background:linear-gradient(180deg,#321e0e,#180d06); border-color:#9d6c2d; }.ars-account-actions { border-top-color:rgba(225,178,81,.28); }.ars-nav-link { min-height:42px; }.ars-nav-links { gap:1px; }.portal-command-nav { grid-template-columns:1fr 1fr; }.portal-command-nav a { min-height:41px; } }
@media(prefers-reduced-motion:reduce) { body::after { animation:none; } }
