/* Approved L2 Players identity: midnight blue, restrained gold, real HTML UI.
   Shared by all EJS pages. No changes to account/payment behavior. */
:root { --bg:#030e1d; --bg-2:#08182c; --panel:#091a2e; --panel-2:#10233a; --line:#26364b; --line-gold:#b9955059; --gold:#dfbb75; --gold-soft:#bea06a; --gold-bright:#f8e4b5; --text:#f0eadf; --dim:#b2bfd0; --blue-soft:#b9cce1; }
body.evolution { background:#030e1d; color:var(--text); font-family:Inter,Arial,sans-serif; font-weight:400; }
body.evolution::before { display:none; }
.evolution .page { overflow:clip; }
.evolution .inner,.evolution .home-content,.evolution .header-inner,.evolution .site-footer { width:calc(100% - 96px); max-width:1376px; }
.evolution .site-header { background:#020d1cf5; border-bottom:1px solid #b9955066; box-shadow:none; }
.evolution .site-header::before,.evolution .site-header::after { display:none; }
.evolution .header-inner { min-height:78px; gap:22px; flex-wrap:nowrap; padding:0; }
.evolution .header-inner>.brand { margin:0 auto 0 0; flex-basis:auto; }
.evolution .brand-logo { width:180px; height:auto; }
.evolution .main-nav { display:flex; flex-basis:auto; order:0; align-self:stretch; align-items:center; flex-wrap:nowrap; padding:0; gap:22px; border:0; }
.evolution .main-nav a { position:relative; flex:none; padding:8px 0; min-height:44px; border:0; border-radius:0; background:none; box-shadow:none; font:500 12px/1.4 Cinzel,Georgia,serif; letter-spacing:0; text-transform:none; color:#ece7df; }
.evolution .main-nav a:hover,.evolution .main-nav a[aria-current="page"] { color:#f2cf82; background:none; box-shadow:none; text-shadow:none; }
.evolution .main-nav a[aria-current="page"]::before { display:block; position:absolute; content:''; height:1px; bottom:3px; left:0; right:0; background:#d9af59; }
.evolution .main-nav a::after { display:none; }
.evolution .header-tools { margin:0; gap:8px; flex-shrink:0; }
.evolution .header-account { border:1px solid #b99550; padding:9px 16px; border-radius:3px; color:#f3e6ca; font:500 12px Cinzel,Georgia,serif; text-transform:none; }
.evolution .header-server { display:none; }
.evolution .sound-toggle { min-width:32px; width:32px; padding:5px; }
.evolution .menu-toggle { display:none; }
.night-hero { position:relative; isolation:isolate; min-height:650px; border-bottom:1px solid #b9955059; overflow:hidden; background:#030e1d; }
.night-hero-art { position:absolute; inset:0; z-index:-1; background:url('/img/midnight/hero-elfa-v2.webp') center top/cover no-repeat; }
.night-hero-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#030e1d38,transparent 64%),linear-gradient(0deg,#030e1d77,transparent 20%); }
.night-hero-inner { width:calc(100% - 96px); max-width:1376px; margin:auto; min-height:650px; display:flex; align-items:center; padding:54px 0 64px; }
.night-hero-copy { width:48%; max-width:650px; }
.night-eyebrow { color:#e4c48b; font:500 11px/1.6 Cinzel,Georgia,serif; letter-spacing:.25em; text-transform:uppercase; margin-bottom:22px; }
.night-hero h1 { line-height:0; margin:0 0 26px; }
.night-hero h1 img { width:100%; max-width:565px; height:auto; display:block; filter:drop-shadow(0 4px 12px #0008); }
.night-hero h2 { color:#f5ecdc; font:600 clamp(25px,2.8vw,43px)/1.22 'EB Garamond',Georgia,serif; letter-spacing:-.02em; margin-bottom:14px; text-wrap:balance; }
.night-hero-description { color:#b9c6d7; font:400 clamp(17px,1.6vw,23px)/1.5 'EB Garamond',Georgia,serif; }
.night-actions { display:flex; gap:16px; margin-top:32px; flex-wrap:wrap; }
.night-button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:14px 27px; border:1px solid #d6ae60; border-radius:3px; font:600 14px/1.4 Cinzel,Georgia,serif; text-transform:uppercase; transition:background .18s,box-shadow .18s; text-align:center; }
.night-button-primary { background:linear-gradient(135deg,#f8df9d,#d3a34e); color:#171205; box-shadow:inset 0 0 0 3px #603d2529; }
.night-button-primary:hover { color:#171205; background:#f8dda0; box-shadow:0 0 22px #d8ac5826; }
.night-button-secondary { color:#f2e6cc; background:#041326cc; }
.night-button-secondary:hover { color:#fff0cd; background:#10263f; }
.night-hero-notes { margin-top:28px; color:#aebed0; font:400 12px/1.8 Inter,Arial,sans-serif; }
.night-hero-notes span { margin:0 9px; color:#c7a163; }
.night-features { padding:24px 48px 36px; max-width:1472px; margin:auto; }
.night-features>h2 { display:flex; align-items:center; justify-content:center; gap:24px; color:#f2e6cf; font:500 clamp(21px,2.3vw,31px)/1.4 'EB Garamond',Georgia,serif; text-align:center; margin-bottom:24px; }
.night-features>h2::before,.night-features>h2::after { content:''; width:80px; height:1px; background:linear-gradient(90deg,transparent,#ac874a); }
.night-features>h2::after { transform:rotate(180deg); }
.night-features-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.night-features-grid>a { display:flex; align-items:center; gap:22px; min-height:108px; border:1px solid #b9955066; border-radius:4px; background:linear-gradient(125deg,#0a1a2b,#031020); padding:22px 26px; }
.night-features-grid>a:hover { background:#0c2037; border-color:#d2ac64; }
.night-features-grid svg { color:#e2bd73; width:38px; height:38px; }
.night-features-grid strong { display:block; color:#f2e2c3; font:500 20px/1.4 'EB Garamond',Georgia,serif; }
.night-features-grid small { display:block; color:#b2bfd0; font:400 12px/1.7 Inter,Arial,sans-serif; margin-top:5px; }
/* Shared interior pages and preserved data tables/forms. */
.evolution.is-interior { background:linear-gradient(90deg,#030e1df5,#030e1dd9),url('/img/midnight/hero-elfa-v2.webp') center top/cover fixed !important; }
.evolution.is-interior .page { background:none; }
.evolution.is-interior .pagehead { padding:58px 0 36px; max-width:950px; margin-inline:auto; text-align:center; }
.evolution.is-interior .pagehead h1,.evolution .cx-hero h1 { font-family:Cinzel,Georgia,serif; color:#f4e6c8; font-weight:500; font-size:clamp(28px,3.4vw,45px); line-height:1.25; text-shadow:none; }
.evolution.is-interior .pagehead p { color:#b7c5d6; font-size:15px; line-height:1.8; max-width:760px; margin:18px auto 0; }
.evolution :is(.card,.panel,.coinbox,.feat,.charrow,.faq details),.evolution .refined-home .system-card { --text:#f0eadf; --dim:#b2bfd0; --gold:#dfbb75; --gold-soft:#bea06a; --gold-bright:#f8e4b5; background:linear-gradient(135deg,#0b1d32,#061426); border:1px solid #b995504d; border-image:none; border-radius:5px; color:#e9e5df; box-shadow:0 12px 30px #0002; }
.evolution :is(.card,.panel) { padding:28px; }
.evolution :is(.card,.panel)::before,.evolution :is(.card,.panel)::after { display:none; }
.evolution :is(.card,.panel,.coinbox,.feat,.charrow,.faq details) :is(h1,h2,h3,h4,strong,b,label,summary) { color:#f0deba; text-shadow:none; -webkit-text-stroke:0; }
.evolution :is(.card,.panel,.coinbox,.feat,.charrow,.faq details) :is(p,li,.hint,.empty-state,.form-foot,.meta,.cl,.un,.lb,.info-chamada,.section-intro,.info-nota,.howto,.howto-list) { color:#b9c6d6; }
.evolution .card :is(a:not(.btn),.eyebrow,.step-number),.evolution .info-symbol { color:#dfbd7c; }
.evolution .section>h2 { color:#f0deba; font-weight:500; }
.evolution .field label { color:#e2d6be; font:500 13px/1.6 Inter,Arial,sans-serif; }
.evolution .field :is(input,select,textarea),.evolution .card select { background:#030f20; color:#f0eadf; border:1px solid #516177; border-radius:3px; font:400 15px/1.5 Inter,Arial,sans-serif; min-height:46px; padding:11px 13px; max-width:100%; }
.evolution .field input::placeholder { color:#93a3b7; }
.evolution .field :is(input,select,textarea):focus { outline:2px solid #d4af6c; outline-offset:2px; box-shadow:none; }
.evolution :is(.btn,.epic-button,.journey-button,.journey-login,.epic-secondary) { border-radius:3px; border-image:none; text-shadow:none; background-image:none; clip-path:none; }
.evolution :is(.btn-primary,.epic-button,.journey-button) { background:linear-gradient(135deg,#f8df9d,#d3a34e); color:#171205; border:1px solid #e1bf7c; outline:0; box-shadow:inset 0 0 0 3px #603d251a; min-width:0; min-height:46px; height:auto; padding:13px 22px; font:600 12px/1.5 Cinzel,Georgia,serif; }
.evolution :is(.btn-primary,.epic-button,.journey-button):hover { background:#f6dda1; color:#171205; transform:none; filter:none; }
.evolution :is(.btn-ghost,.epic-secondary,.journey-login) { background:#07182c; border:1px solid #9b804e; color:#f0dfbd; padding:12px 20px; box-shadow:none; }
.evolution :is(.btn-ghost,.epic-secondary):hover { color:#fff0ce; background:#122b46; }
.evolution :is(.epic-button,.journey-button)::before,.evolution :is(.epic-button,.journey-button)::after { display:none; }
.evolution .btn:disabled { opacity:.55; cursor:not-allowed; }
.evolution table { max-width:100%; }
.evolution :is(.card,.panel) :is(table th,table td) { color:#c8d2de; border-color:#314158; font:400 13px/1.65 Inter,Arial,sans-serif; }
.evolution :is(.card,.panel) table th { color:#e2c58d; font-weight:600; background:#061224; }
.evolution :is(.card,.panel) table :is(.nm,.pos,.tag) { color:#f0deba; }
.evolution table tr:hover td { background:#2943652b; }
.evolution .form-alert { background:#361e22; border:1px solid #af6867; color:#ffe1da; border-radius:4px; }
.evolution :is(.form-ok,.form-alert.form-ok) { background:#102c25; border-color:#508c72; color:#c8f0d7; }
.evolution .account-bar { border-bottom:1px solid #b9955033; background:none; flex-wrap:wrap; gap:10px; }
.evolution .charrow :is(.name,.lvl),.evolution .coinbox b,.evolution .coinpack b { color:#f0deba; }
.evolution .coinbox :is(.lb,.un),.evolution .card .coinpack span { color:#b2bfd0; }
.evolution .card .donate-copiaecola { color:#dae4ef; background:#030f20; border-color:#516177; overflow-wrap:anywhere; }
.evolution .bonus-callout { background:#10273c; border-color:#536e8c; color:#d5e1ee; box-shadow:none; }
.evolution .faq summary { font-weight:500; color:#e9d4ac; }
.evolution .faq summary::after { color:#c8a66b; }
.evolution .download-banner { border:1px solid #b9955059; border-radius:5px; }
.evolution .info-symbol { display:flex; align-items:center; gap:16px; padding:24px 28px 0; }
.evolution .info-symbol svg { width:32px; height:32px; }
.evolution .card.info-plaque { padding:0; }
.evolution .info-plaque-body { padding:26px 28px; }
.evolution .sis-img img,.evolution .cx-video { border-color:#b9955066; border-radius:4px; }
.evolution .guia-indice { background:#061426; padding:18px; border:1px solid #b995504d; border-radius:4px; }
.evolution .guia-layout { grid-template-columns:230px minmax(0,1fr); }
.evolution :is(.guia-layout,.grid2,.grid3,.rankgrid,.sis,.cx-dif,.coinhead)>* { min-width:0; }
.evolution .guia-sec .card { overflow-x:auto; }
.evolution .guia-grade { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); }
.evolution .sis-lista { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.evolution .cx-lista { grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); }
.evolution .refined-home .system-card { padding:28px; }
.evolution .refined-home .system-card:hover { background:#0d233c; border-color:#c6a265; transform:translateY(-2px); }
.evolution .refined-home .system-card::before { display:none; }
.evolution .refined-home .system-card h3 { color:#f0deba; font-weight:500; }
.evolution .refined-home .system-card .adventure-info p { color:#b9c6d6; font:400 14px/1.85 Inter,Arial,sans-serif; }
.evolution .refined-home :is(.system-category,.adventure-link,.system-icon) { color:#d6b477; }
.evolution .refined-home .system-number { color:#8d9bb0; }
.evolution .refined-home .journey-panel { background:linear-gradient(135deg,#10253d,#061426); border-color:#b9955059; }
.evolution .site-footer { background:none; border:0; margin-top:50px; padding:30px 0; }
.evolution .site-footer::before { display:none; }
.evolution .footer-signature { border-top:1px solid #b995504d; padding-top:32px; }
.evolution .footer-logo { width:220px; height:auto; }
.evolution .footer-bottom { border-color:#b9955033; color:#9eacbf; }
.evolution .ab { border-radius:5px; border-color:#b9955059; background:linear-gradient(90deg,#03102018,#03102055 35%,#03102055 65%,#03102018),url('/img/midnight/beta-racas.webp') center/cover; }
.evolution .ab-bloco { border-radius:4px; }
.evolution :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid #f0cc83; outline-offset:4px; }
@media(min-width:1600px) { .night-hero-art { background-size:1600px auto; } }
@media(max-width:1250px) {
 .evolution .header-inner { gap:16px; }
 .evolution .brand-logo { width:148px; }
 .evolution .main-nav { gap:14px; }
 .evolution .main-nav a { font-size:11px; }
 .night-hero-inner,.night-hero { min-height:600px; }
 .night-button { padding:13px 19px; font-size:12px; }
}
@media(max-width:1100px) {
 .evolution .header-inner { min-height:74px; flex-wrap:wrap; justify-content:space-between; }
 .evolution .header-inner>.brand { margin-right:auto; }
 .evolution .menu-toggle { display:flex; align-items:center; gap:8px; order:2; border:1px solid #79633f; padding:10px 13px; color:#f0dfbd; background:#081a2e; font:500 12px Inter,sans-serif; min-height:44px; }
 .evolution .header-tools { order:1; }
 .evolution .main-nav { display:none; flex-basis:100%; order:4; padding:12px 0 20px; gap:8px; flex-wrap:wrap; border-top:1px solid #b9955033; }
 .evolution .main-nav.is-open { display:flex; }
 .evolution .main-nav a { min-height:44px; padding:10px 16px; font-size:12px; }
 .night-hero-copy { width:51%; }
 .night-hero h2 { font-size:30px; }
 .night-features-grid { gap:14px; }
 .night-features-grid>a { padding:20px; gap:14px; }
}
@media(max-width:768px) {
 .evolution .inner,.evolution .home-content,.evolution .header-inner,.evolution .site-footer { width:calc(100% - 36px); }
 .evolution .header-inner { min-height:72px; gap:10px; }
 .evolution .brand-logo { width:132px; }
 .evolution .header-account { padding:9px 11px; min-height:44px; }
 .evolution .header-account .ui-icon { display:none; }
 .evolution .sound-toggle { display:none; }
 .evolution .menu-toggle { padding:10px; }
 .night-hero { min-height:0; }
 .night-hero-art { height:490px; background-size:auto 520px; background-position:72% top; }
 .night-hero-art::after { background:linear-gradient(0deg,#030e1d 0%,#030e1d44 32%,transparent 65%); }
 .night-hero-inner { width:calc(100% - 36px); min-height:0; padding:350px 0 36px; }
 .night-hero-copy { width:100%; max-width:none; text-align:center; }
 .night-eyebrow { font-size:9px; letter-spacing:.14em; margin-bottom:14px; }
 .night-hero h1 { margin-bottom:20px; }
 .night-hero h1 img { max-width:340px; width:90%; margin:auto; }
 .night-hero h2 { font-size:31px; }
 .night-hero-description { font-size:19px; }
 .night-actions { justify-content:center; margin-top:24px; gap:12px; }
 .night-button { padding:13px 18px; min-height:50px; font-size:12px; flex:1 1 140px; max-width:240px; }
 .night-hero-notes { font-size:10px; margin-top:22px; }
 .night-hero-notes span { margin:0 4px; }
 .night-features { padding:24px 18px 28px; }
 .night-features>h2 { gap:12px; font-size:25px; }
 .night-features>h2::before,.night-features>h2::after { width:25px; }
 .night-features-grid { grid-template-columns:1fr; gap:12px; }
 .night-features-grid>a { min-height:90px; }
 .evolution.is-interior .pagehead { padding:36px 0 28px; }
 .evolution .card,.evolution .panel { padding:22px; }
 .evolution .info-plaque-body { padding:22px; }
 .evolution .info-symbol { padding:22px 22px 0; }
 .evolution .grid2,.evolution .grid3 { grid-template-columns:1fr; }
 .evolution .guia-layout,.evolution .rankgrid,.evolution .coinhead { grid-template-columns:minmax(0,1fr); }
 .evolution .form-wrap { width:calc(100% - 36px); padding:0; }
 .evolution .table-wrap { max-width:100%; overflow-x:auto; }
 .evolution .footer-bottom { flex-direction:column; align-items:center; gap:18px; text-align:center; }
 .evolution .footer-bottom nav { flex-wrap:wrap; justify-content:center; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .evolution *, .evolution *::before,.evolution *::after { animation:none !important; transition:none !important; } }
