:root{
  --cream: #F3F8FE;
  --panel: #EAF2FB;
  --panel-solid: #FFFFFF;
  --sky: #B9DAFF;
  --sky-deep: #2D6CDF;
  --blush: #FFE59B;
  --blush-deep: #D89B00;
  --mint: #CFEAFF;
  --mint-deep: #1987C7;
  --ink: #102A43;
  --muted: #61758A;
  --line: rgba(16,42,67,0.14);
  --page-bg: url('../assets/bg/LoadingImg_0.webp');
}
body.page-bg-loadingimg-0{ --page-bg:url('../assets/bg/LoadingImg_0.webp'); }
body.page-bg-loadingimg-1{ --page-bg:url('../assets/bg/LoadingImg_1.webp'); }
body.page-bg-loadingimg-3{ --page-bg:url('../assets/bg/LoadingImg_3.webp'); }
body.page-bg-loadingimg-4{ --page-bg:url('../assets/bg/LoadingImg_4.webp'); }
body.page-bg-loadingimg-6{ --page-bg:url('../assets/bg/LoadingImg_6.webp'); }
body.page-bg-loadingimg-7{ --page-bg:url('../assets/bg/LoadingImg_7.webp'); }
body.page-bg-teleportimg-1{ --page-bg:url('../assets/bg/TeleportImg_1.webp'); }
html{ scroll-behavior:smooth; overflow-x:hidden; background:var(--cream); }
*{ box-sizing:border-box; margin:0; padding:0; }
[hidden]{ display:none !important; }
body{
  overflow-x:hidden;
  min-height:100vh;
  position:relative;
  isolation:isolate;
  background:transparent;
  color: var(--ink);
  font-family: 'Nunito', sans-serif;
  -webkit-font-smoothing: antialiased;
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-color:var(--cream);
  background-image:
    linear-gradient(rgba(243,248,254,0.86), rgba(243,248,254,0.94)),
    var(--page-bg);
  background-size: cover;
  background-position: center top;
}
a{ color:inherit; text-decoration:none; }
.wrap{ max-width:1160px; margin:0 auto; padding:0 32px; position:relative; }
::selection{ background: var(--sky); color:#fff; }

header{ padding:20px 0; position:relative; z-index:2; }
nav{ display:flex; align-items:center; justify-content:space-between; }
.site-navbar{ --line:rgba(16,42,67,0.14); font-family:'Nunito',sans-serif; }
.logo{ display:flex; align-items:center; color:var(--ink); }
.logo img{ display:block; width:170px; height:auto; }
.navlinks{ display:flex; align-items:center; min-height:32px; gap:clamp(12px,1.5vw,22px); font-size:14px; color:var(--muted); font-weight:700; }
.navlinks a,.nav-action{ display:inline-flex; align-items:center; height:32px; line-height:1; }
.navlinks > a,.navlinks > .nav-group > summary,.navlinks > .nav-action{ display:flex; align-items:center; height:32px; line-height:32px; }
.navlinks a{ transition: color .15s; }
.navlinks a:hover{ color: var(--ink); }
.nav-action{ border:0; padding:0; background:transparent; color:inherit; font:inherit; cursor:pointer; transition:color .15s; }
.nav-action:hover{ color:var(--ink); }
.nav-group{ position:relative; }
.nav-group>summary{ display:inline-flex; align-items:center; height:32px; gap:7px; cursor:pointer; list-style:none; transition:color .15s; }
.nav-group>summary::-webkit-details-marker{ display:none; }
.nav-group>summary::after{ content:'▾'; font-size:10px; }
.nav-group>summary:hover,.nav-group[open]>summary{ color:var(--ink); }
.nav-group-menu{ position:absolute; top:calc(100% + 12px); left:-14px; z-index:8; display:grid; min-width:230px; gap:3px; padding:9px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.97); box-shadow:0 16px 34px rgba(16,42,67,.14); }
.nav-group:not([open])>.nav-group-menu{ display:none; }
.navlinks .nav-group-menu a{ display:flex; height:auto; min-height:36px; padding:8px 11px; border-radius:10px; white-space:nowrap; }
.navlinks .nav-group-menu a:hover{ background:var(--panel); }
.menu-toggle{ display:none; border:1px solid var(--line); border-radius:12px; width:40px; height:36px; padding:8px; background:rgba(255,255,255,0.72); cursor:pointer; }
.menu-toggle span{ display:block; width:100%; height:2px; margin:4px 0; border-radius:2px; background:var(--ink); transition:transform .15s, opacity .15s; }
.menu-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }
.social-links{ display:flex; align-items:center; gap:6px; }
.nav-social{ height:32px; }
.nav-social .social-link{ height:32px; }
.social-link{ display:inline-flex; align-items:center; justify-content:center; height:28px; padding:0 10px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,0.72); color:var(--muted); font-size:11.5px; font-weight:800; transition:color .15s, border-color .15s, background .15s, transform .15s; }
.social-link:hover{ color:var(--sky-deep); border-color:rgba(45,108,223,0.38); background:var(--panel-solid); transform:translateY(-1px); }
.social-link.is-disabled{ opacity:.62; cursor:not-allowed; }
.social-link.is-disabled:hover{ color:var(--muted); border-color:var(--line); background:rgba(255,255,255,0.72); transform:none; }
.social-icon{ display:inline-flex; width:14px; min-width:14px; height:14px; min-height:14px; margin-right:6px; flex:0 0 14px; }
.social-icon svg{ display:block; width:100%; height:100%; }
.btn .social-icon{ width:16px; min-width:16px; height:16px; min-height:16px; margin-right:8px; flex-basis:16px; }
.social-link[hidden]{ display:none; }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Keep the shared navigation in one row only while all links fit comfortably. */
@media (max-width:1000px){
  nav{ position:relative; flex-wrap:wrap; }
  .logo img{ width:142px; }
  .menu-toggle{ display:block; margin-left:auto; }
  .navlinks{ display:none; width:calc(100% + 32px); flex-direction:column; align-items:stretch; gap:4px; margin:14px -16px 0; padding:10px 14px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,0.94); box-shadow:0 12px 28px rgba(16,42,67,0.1); }
  .navlinks.is-open{ display:flex; }
  .navlinks > a,.navlinks > .nav-action{ display:flex; width:100%; height:38px; padding:0 10px; border-radius:10px; align-items:center; }
  .navlinks > .nav-group{ width:100%; }
  .navlinks > .nav-group > summary{ width:100%; height:38px; padding:0 10px; border-radius:10px; }
  .navlinks > .nav-group > summary:hover,.navlinks > .nav-group[open] > summary{ background:var(--panel); }
  .nav-group-menu{ position:static; min-width:0; margin:0 0 4px 10px; border:0; border-left:2px solid var(--sky); border-radius:0; background:transparent; box-shadow:none; }
  .navlinks .nav-group-menu a{ white-space:normal; }
  .navlinks > a:hover,.navlinks > .nav-action:hover{ background:var(--panel); }
  .nav-social{ justify-content:center; padding:6px 0; }
}

/* ============ ERROR PAGE ============ */
.error-page{ min-height:calc(100vh - 184px); display:grid; place-items:center; padding:34px 0 76px; }
.error-card{ position:relative; display:flex; align-items:center; gap:54px; width:100%; max-width:1040px; min-height:460px; margin:0 auto; padding:44px 58px; overflow:hidden; background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(239,247,255,.94)); border:1px solid rgba(255,255,255,.92); border-radius:32px; box-shadow:0 24px 64px rgba(16,42,67,.18); }
.error-card::before{ content:''; position:absolute; width:310px; height:310px; left:-110px; bottom:-170px; border-radius:50%; background:rgba(185,218,255,.55); pointer-events:none; }
.error-card::after{ content:''; position:absolute; width:210px; height:210px; right:-80px; top:-115px; border-radius:50%; background:rgba(255,229,155,.45); pointer-events:none; }
.error-visual{ position:relative; flex:0 0 42%; min-height:330px; display:grid; place-items:center; }
.error-number{ position:absolute; inset:0; display:grid; place-items:center; color:rgba(45,108,223,.13); font:800 clamp(100px,13vw,168px)/1 'Baloo 2',sans-serif; letter-spacing:-.08em; }
.error-character{ position:relative; z-index:1; display:block; width:min(100%,270px); max-height:310px; object-fit:contain; filter:drop-shadow(0 18px 18px rgba(16,42,67,.15)); animation:error-float 4.8s ease-in-out infinite; }
.error-copy{ position:relative; z-index:1; flex:1; max-width:590px; }
.error-code{ color:var(--blush-deep); font:800 14px/1 'Nunito',sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.error-copy h1{ margin-top:10px; font-size:clamp(38px,4.5vw,62px); line-height:1.08; }
.error-copy > p{ max-width:48ch; margin-top:16px; color:var(--muted); font-size:16px; line-height:1.7; }
.error-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:28px; }
.error-back{ appearance:none; -webkit-appearance:none; border:0 !important; padding:12px 8px; background:transparent !important; color:var(--muted); font:700 14px 'Nunito',sans-serif; cursor:pointer; text-decoration:underline; text-decoration-color:transparent; text-underline-offset:4px; transition:color .15s,text-decoration-color .15s; }
.error-back:hover{ color:var(--ink); text-decoration-color:currentColor; }
.error-back:focus-visible{ outline:3px solid var(--sky-deep); outline-offset:3px; border-radius:6px; }
@keyframes error-float{ 0%,100%{ transform:translateY(0) rotate(-2deg); } 50%{ transform:translateY(-10px) rotate(2deg); } }
@media (max-width:700px){
  .error-page{ min-height:calc(100vh - 148px); padding:34px 0 54px; }
  .error-card{ flex-direction:column; gap:8px; min-height:0; padding:34px 24px 38px; text-align:center; }
  .error-visual{ flex-basis:auto; width:100%; }
  .error-visual{ min-height:210px; }
  .error-character{ width:min(72%,240px); }
  .error-copy{ max-width:none; }
  .error-copy > p{ margin-left:auto; margin-right:auto; }
  .error-actions{ justify-content:center; }
}

/* ============ HERO (site institucional) ============ */
.hero{ position:relative; padding:70px 0 40px; overflow:visible; z-index:1; }
.hero-layout{ display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.82fr); align-items:center; gap:22px; }
.hero-copy{ min-width:0; }
.hero-art{ display:flex; align-items:center; justify-content:center; min-width:0; }
.hero-art picture{ display:block; width:min(100%,500px); }
.hero-art img{ display:block; width:100%; height:auto; }
#news,#promotional-video{ scroll-margin-top:24px; }
#news .container-character{ right:auto; left:18px; }

.eyebrow{
  font-family:'Baloo 2', sans-serif; font-weight:600; font-size:13px; color: var(--sky-deep);
  background: rgba(45,108,223,0.12); display:inline-flex; padding:6px 16px; border-radius:999px;
  margin-bottom:20px;
}
h1{
  margin:0; font-family:'Baloo 2', sans-serif; font-weight:800; font-size:clamp(30px,4.5vw,50px);
  line-height:1.12; max-width:680px; color:var(--ink);
}
h1 .accent{ color:var(--blush-deep); background:none; -webkit-text-fill-color:var(--blush-deep); }
.lede{ color: var(--muted); font-size:16px; line-height:1.7; max-width:520px; margin-top:18px; }

.hero-ctas{ display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }

.btn{
  font-family:'Baloo 2', sans-serif; font-weight:700; font-size:15px; border:none; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; padding:14px 30px; border-radius:999px;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease;
}
.btn:focus-visible{ outline:3px solid var(--sky-deep); outline-offset:2px; }
.btn-primary{ background: var(--sky-deep); color:#fff; box-shadow: 0 8px 20px rgba(45,108,223,0.22); }
.btn-primary:hover{ transform:translateY(-2px); background: #245FC9; box-shadow: 0 10px 24px rgba(45,108,223,0.28); }
.btn-secondary{ background: var(--panel-solid); color: var(--ink); border:2px solid var(--line); }
.btn-secondary:hover{ border-color: var(--sky-deep); color: var(--sky-deep); }
.btn-primary:disabled{ opacity:0.65; cursor:default; transform:none; }

/* ============ SEÇÕES GERAIS ============ */
section{ padding:56px 0; position:relative; z-index:1; }
.section-head{ text-align:center; max-width:520px; margin:0 auto 40px; }
.section-head h2{ font-family:'Baloo 2', sans-serif; font-weight:800; font-size:28px; line-height:1; color:var(--ink); }
.section-head p{ color:var(--muted); font-size:15px; margin-top:10px; }

/* ============ PAINEL DE NOTÍCIAS (site) ============ */
.news-panel{ position:relative; background:rgba(255,255,255,0.9); border:1px solid var(--line); border-radius:28px; padding:42px 30px 30px; box-shadow:0 18px 44px rgba(16,42,67,0.1); }
.news-panel-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:24px; padding-right:112px; }
.news-panel-head .eyebrow,.promo-video-copy .eyebrow{ margin-bottom:10px; }
.news-panel h2{ font-family:'Baloo 2', sans-serif; font-weight:800; font-size:30px; line-height:1; color:var(--ink); }
.news-panel-head p{ color:var(--muted); font-size:15px; margin-top:6px; }
.news-updated{ color:var(--muted); font-size:12px; font-weight:700; white-space:nowrap; padding-bottom:5px; }
.news-tabs{ display:flex; gap:8px; flex-wrap:wrap; padding-bottom:20px; border-bottom:1px solid var(--line); }
.news-filter{ border:1px solid var(--line); background:var(--panel-solid); color:var(--muted); border-radius:999px; padding:8px 16px; font:700 12.5px 'Nunito', sans-serif; cursor:pointer; transition:background .15s, color .15s, border-color .15s; }
.news-filter:hover{ border-color:var(--sky-deep); color:var(--sky-deep); }
.news-filter.active{ background:var(--sky-deep); border-color:var(--sky-deep); color:#fff; }
.news-list{ display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; padding-top:20px; }
.news-item{ background:rgba(243,248,254,0.72); border:1px solid var(--line); border-radius:18px; padding:20px; min-height:176px; transition:transform .15s, box-shadow .15s, border-color .15s; }
.news-item:hover{ transform:translateY(-3px); border-color:rgba(45,108,223,0.36); box-shadow:0 12px 26px rgba(16,42,67,0.08); }
.news-item.featured{ background:linear-gradient(145deg, rgba(45,108,223,0.12), rgba(255,229,155,0.2)); border-color:rgba(45,108,223,0.25); }
.news-meta{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; color:var(--muted); font-size:11.5px; font-weight:700; }
.news-category{ border-radius:999px; padding:4px 9px; background:rgba(45,108,223,0.12); color:var(--sky-deep); }
.news-category.event{ background:rgba(216,155,0,0.16); color:var(--blush-deep); }
.news-category.guide{ background:rgba(25,135,199,0.12); color:var(--mint-deep); }
.news-item h3{ font-family:'Baloo 2', sans-serif; font-weight:700; font-size:17px; line-height:1.2; color:var(--ink); margin-bottom:8px; }
.news-item h3 a{ color:inherit; text-decoration:none; }
.news-item h3 a:hover{ color:var(--sky-deep); text-decoration:underline; }
.news-item p{ color:var(--muted); font-size:13.5px; line-height:1.55; }
.news-loading,.news-empty{ color:var(--muted); font-size:14px; padding:24px 4px 4px; }
.news-empty[hidden]{ display:none; }

.promo-video-section{ padding:12px 0 56px; }
.promo-video-panel{ position:relative; display:grid; grid-template-columns:minmax(0, .7fr) minmax(0, 1.3fr); align-items:start; gap:30px; padding:42px 30px 30px; background:rgba(255,255,255,0.84); border:1px solid var(--line); border-radius:28px; box-shadow:0 18px 44px rgba(16,42,67,0.08); }
.container-character{ position:absolute; z-index:2; top:0; right:18px; bottom:auto; left:auto; display:block; width:auto; max-width:none; height:120px; max-height:none; transform:translateY(calc(-100% + 11px)); object-fit:contain; object-position:bottom center; pointer-events:none; }
.promo-video-copy h2{ margin-top:0; font-family:'Baloo 2', sans-serif; font-weight:800; font-size:30px; line-height:1; color:var(--ink); }
.promo-video-copy p{ margin-top:8px; color:var(--muted); font-size:15px; line-height:1.65; }
.promo-video-frame{ position:relative; width:100%; max-width:100%; min-width:0; min-height:0; aspect-ratio:16 / 9; overflow:hidden; border:1px solid rgba(255,255,255,0.22); border-radius:20px; background:#000; color:#fff; }
.promo-video-frame iframe{ position:absolute; inset:0; display:block; width:100%; height:100%; border:0; }
.promo-video-copy > a{ display:inline-block; margin-top:12px; }
.promo-video-placeholder{ display:flex; align-items:center; flex-direction:column; gap:8px; padding:20px; text-align:center; }
.promo-video-placeholder strong{ font-family:'Baloo 2', sans-serif; font-size:20px; }
.promo-video-placeholder span:last-child{ color:rgba(255,255,255,0.74); font-size:13px; }
.promo-play{ flex:0 0 auto; width:0; height:0; margin-bottom:4px; border-top:14px solid transparent; border-bottom:14px solid transparent; border-left:22px solid var(--blush); }

/* ============ LOGIN MODAL ============ */
body.modal-open{ overflow:hidden; }
.login-modal[hidden],.topup-rewards-modal[hidden]{ display:block; opacity:0; visibility:hidden; pointer-events:none; }
.login-modal{ position:fixed; inset:0; z-index:20; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s ease, visibility 0s linear .2s; }
.login-modal.is-open,.topup-rewards-modal.is-open{ opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; animation:modal-fade-in .2s ease both; }
.login-modal.is-closing,.topup-rewards-modal.is-closing{ opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease, visibility 0s linear .18s; animation:modal-fade-out .18s ease both; }
.login-modal-backdrop{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(16,42,67,0.56); }
.login-card{ position:relative; width:100%; max-width:380px; background:var(--panel-solid); border-radius:22px; padding:38px 32px; box-shadow:0 24px 64px rgba(16,42,67,0.24); border:1px solid var(--line); }
.login-close{ position:absolute; top:12px; right:14px; width:32px; height:32px; border:0; border-radius:50%; background:transparent; color:var(--muted); font:400 26px/1 'Nunito', sans-serif; cursor:pointer; }
.login-close:hover{ background:rgba(45,108,223,0.1); color:var(--ink); }
.login-close:focus-visible,.nav-action:focus-visible{ outline:3px solid var(--sky-deep); outline-offset:3px; }
.login-card .lc-eyebrow{ font-family:'Baloo 2', sans-serif; font-weight:700; font-size:12px; color: var(--blush-deep); text-transform:uppercase; letter-spacing:0.06em; }
.login-card h3{ font-family:'Baloo 2', sans-serif; font-weight:800; font-size:23px; margin:8px 0 26px; color:var(--ink); }
.field{ margin-bottom:16px; }
.field label{ display:block; font-size:12.5px; color:var(--muted); font-weight:700; margin-bottom:7px; }
.field input{ width:100%; background: var(--cream); border:2px solid var(--line); border-radius:12px; padding:12px 14px; color:var(--ink); font-family:'Nunito',sans-serif; font-size:14px; }
.field input:focus{ outline:none; border-color: var(--sky-deep); }
.login-card .btn-primary{ width:100%; margin-top:6px; }
.auth-form[hidden],#login-form[hidden]{ display:none; }
@keyframes modal-fade-in{ from{ opacity:0; } to{ opacity:1; } }
@keyframes modal-fade-out{ from{ opacity:1; } to{ opacity:0; } }
@keyframes premium-sheen{ 0%,55%{ transform:translateX(-55%) rotate(8deg); } 80%,100%{ transform:translateX(55%) rotate(8deg); } }
@media (prefers-reduced-motion: reduce){
  .login-modal{ transition:none; }
}
.form-msg{ font-family:'Nunito', sans-serif; font-weight:700; font-size:12.5px; margin-top:14px; min-height:16px; }
.form-msg.error{ color:#D6607A; }
.form-msg.success{ color: var(--mint-deep); }
.auth-switch{ display:block; width:100%; margin-top:14px; padding:4px; border:0; background:transparent; color:var(--sky-deep); font:700 12.5px 'Nunito',sans-serif; cursor:pointer; }
.auth-switch:hover,.auth-switch:focus-visible{ color:var(--ink); text-decoration:underline; }

/* ============ PAINEL DO USUÁRIO ============ */
.user-panel{ padding:54px 0 20px; }
.panel-heading{ max-width:680px; margin-bottom:28px; }
.panel-heading h1{ margin:0; font-family:'Baloo 2',sans-serif; font-weight:800; font-size:clamp(30px,4.5vw,50px); line-height:1.12; color:var(--ink); }
.panel-heading p{ max-width:580px; margin-top:18px; color:var(--muted); font-size:16px; line-height:1.7; }
.panel-alert{ margin-bottom:20px; padding:14px 16px; border-radius:14px; background:rgba(216,155,0,0.12); color:var(--blush-deep); font-size:13px; font-weight:700; }
.panel-alert.error{ border:1px solid rgba(216,155,0,0.24); }
.account-overview{ position:relative; display:flex; align-items:center; gap:18px; padding:24px; overflow:visible; background:rgba(255,255,255,0.9); border:1px solid var(--line); border-radius:24px; box-shadow:0 18px 44px rgba(16,42,67,0.08); }
.account-avatar{ display:grid; place-items:center; width:64px; height:64px; flex:0 0 64px; border-radius:20px; background:linear-gradient(135deg,var(--sky-deep),var(--mint-deep)); color:#fff; font:800 28px 'Baloo 2',sans-serif; }
.account-info{ min-width:0; }
.account-info h2{ margin-top:4px; font:800 26px/1 'Baloo 2',sans-serif; color:var(--ink); }
.account-info p{ margin-top:8px; color:var(--muted); font-size:13px; }
.account-wallet-summary{ display:flex; flex-wrap:wrap; gap:9px; margin-top:12px; }
.account-wallet-summary > div{ display:flex; align-items:center; gap:9px; padding:7px 11px; border:1px solid var(--line); border-radius:12px; background:rgba(45,108,223,.06); color:var(--muted); font-size:11px; }
.account-wallet-summary strong{ color:var(--ink); font-size:13px; }
.account-logout{ display:inline-block; margin-top:10px; color:var(--muted); font:600 12px/1.2 'Nunito',sans-serif; text-decoration:underline; text-decoration-color:transparent; text-underline-offset:3px; transition:color .15s, text-decoration-color .15s; }
.account-logout:hover{ color:var(--ink); text-decoration-color:currentColor; }
.account-logout:focus-visible{ outline:2px solid var(--sky-deep); outline-offset:3px; border-radius:3px; }
.account-status{ margin-left:auto; padding:7px 11px; border-radius:999px; background:rgba(97,117,138,0.12); color:var(--muted); font-size:12px; font-weight:800; white-space:nowrap; }
.account-status.is-active{ background:rgba(25,135,199,0.12); color:var(--mint-deep); }
.account-status.is-warning{ background:rgba(216,155,0,0.14); color:var(--blush-deep); }
.benefit-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:22px; }
.benefit-card{ position:relative; min-height:220px; padding:24px; background:rgba(255,255,255,0.82); border:1px solid var(--line); border-radius:22px; box-shadow:0 14px 30px rgba(16,42,67,0.06); }
.panel-store-cta{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:22px; padding:24px 26px; overflow:visible; background:linear-gradient(135deg,rgba(45,108,223,0.1),rgba(255,229,155,0.18)); border:1px solid rgba(45,108,223,0.2); border-radius:22px; }
.panel-store-cta h2{ margin-top:6px; font:800 26px/1 'Baloo 2',sans-serif; }
.panel-store-cta p{ margin-top:8px; color:var(--muted); font-size:13.5px; }
.topup-card{ margin-top:28px; margin-bottom:52px; padding:0; background:transparent; border:0; box-shadow:none; }
.topup-heading h2{ margin-top:5px; font:800 26px/1 'Baloo 2',sans-serif; }.topup-heading p{ margin-top:8px; color:var(--muted); font-size:13.5px; }
.topup-progress-row{ display:flex; justify-content:space-between; align-items:flex-end; gap:16px; margin-top:22px; color:var(--ink); font-weight:800; }.topup-progress-row strong{ color:var(--sky-deep); font-size:18px; }.topup-level-display{ display:flex; align-items:baseline; gap:8px; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.05em; }.topup-level-number{ color:var(--ink); font:800 38px/1 'Baloo 2',sans-serif; letter-spacing:0; }
.topup-progress{ display:block; width:100%; height:18px; margin-top:10px; overflow:hidden; border:0; border-radius:999px; appearance:none; background:rgba(45,108,223,0.12); box-shadow:inset 0 1px 2px rgba(16,42,67,0.08); }.topup-progress::-webkit-progress-bar{ background:rgba(45,108,223,0.12); }.topup-progress::-webkit-progress-value{ border-radius:999px; background:linear-gradient(90deg,var(--sky-deep),var(--mint-deep),var(--blush-deep)); }.topup-progress::-moz-progress-bar{ border-radius:999px; background:linear-gradient(90deg,var(--sky-deep),var(--mint-deep),var(--blush-deep)); }
.topup-next,.topup-rewards{ display:flex; justify-content:space-between; gap:16px; margin-top:12px; color:var(--muted); font-size:12px; }
.topup-rewards-link{ display:block; margin:14px 0 0 auto; border:0; padding:0; background:transparent; color:var(--sky-deep); font:700 11px 'Nunito',sans-serif; cursor:pointer; }.topup-rewards-link:hover{ text-decoration:underline; color:var(--ink); }
.store-account-links{ display:flex; justify-content:flex-end; align-items:center; gap:18px; }
.store-account-links [data-open-orders]{ margin:10px 0 0; padding:6px 12px; border:1px solid rgba(45,108,223,.24); border-radius:999px; background:rgba(45,108,223,.08); color:var(--sky-deep); font-size:12px; }
.store-account-links [data-open-orders]:hover{ border-color:var(--sky-deep); background:rgba(45,108,223,.14); text-decoration:none; }
.store-account-links [data-open-orders]:focus-visible{ outline:2px solid var(--sky-deep); outline-offset:3px; }
.topup-rewards-modal{ position:fixed; inset:0; z-index:19; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s ease, visibility 0s linear .2s; }.topup-rewards-backdrop{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(16,42,67,0.36); }.topup-rewards-dialog{ position:relative; width:100%; max-width:420px; padding:32px; border:1px solid var(--line); border-radius:22px; background:var(--panel-solid); box-shadow:0 24px 64px rgba(16,42,67,0.22); }.topup-rewards-dialog h2{ margin:7px 0 18px; font:800 25px/1 'Baloo 2',sans-serif; }.topup-rewards-dialog ul{ margin:0 0 22px 18px; color:var(--muted); line-height:1.7; }.topup-rewards-dialog .btn{ width:100%; }
.topup-rewards-dialog #topup-reward-items li{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); }
.topup-rewards-dialog .topup-claim-button{ width:auto; flex:0 0 auto; margin:0; padding:7px 13px; font-size:12px; }
.topup-rewards-dialog .topup-claim-state{ flex:0 0 auto; color:var(--muted); font-size:12px; font-weight:800; }
.store-orders-modal{ z-index:21; }.store-orders-dialog{ display:flex; flex-direction:column; max-width:620px; max-height:min(82vh,760px); overflow:hidden; }.store-orders-dialog > .eyebrow{ align-self:flex-start; max-width:100%; }.store-orders-description{ margin:-7px 0 18px; color:var(--muted); font-size:13px; line-height:1.55; }.store-orders-list{ display:grid; gap:10px; overflow:auto; min-height:72px; margin:0 -8px 18px; padding:2px 8px; }.store-orders-loading,.store-orders-empty,.store-orders-error{ display:grid; place-items:center; min-height:72px; color:var(--muted); font-size:13px; text-align:center; }.store-order-item{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.62); }.store-order-main{ min-width:0; }.store-order-title{ overflow:hidden; color:var(--ink); font:800 15px/1.3 'Baloo 2',sans-serif; text-overflow:ellipsis; white-space:nowrap; }.store-order-meta{ display:flex; flex-wrap:wrap; gap:4px 10px; margin-top:5px; color:var(--muted); font-size:11px; }.store-order-state{ display:inline-flex; align-items:center; gap:6px; margin-top:8px; padding:4px 8px; border-radius:999px; background:rgba(97,117,138,.12); color:var(--muted); font:800 10px/1.2 'Nunito',sans-serif; }.store-order-state::before{ width:6px; height:6px; border-radius:50%; background:currentColor; content:''; }.store-order-state.is-pending{ background:rgba(216,155,0,.13); color:var(--blush-deep); }.store-order-state.is-success{ background:rgba(35,154,124,.12); color:var(--mint-deep); }.store-order-state.is-error{ background:rgba(214,96,122,.12); color:#B34861; }.store-order-action{ flex:0 0 auto; min-height:36px; padding:8px 13px; border-radius:999px; font-size:11px; }.store-orders-dialog > .btn{ flex:0 0 auto; }
.vip-plan-switch-dialog{ max-width:460px; }.vip-plan-switch-dialog p{ color:var(--muted); font-size:14px; line-height:1.55; }.vip-plan-switch-notice{ margin:14px 0 20px; padding:11px 13px; border-radius:12px; background:rgba(216,155,0,.12); }.vip-plan-switch-actions{ display:grid; gap:9px; }.vip-plan-switch-actions .btn{ width:100%; }.vip-plan-switch-actions .btn[hidden]{ display:none; }
.store-mypoints-section{ margin-top:34px; }
.mypoints-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:18px; }
.mypoints-card{ display:flex; flex-direction:column; align-items:center; min-height:330px; padding:18px 18px 20px; overflow:hidden; background:rgba(255,255,255,0.88); border:1px solid var(--line); border-radius:22px; box-shadow:0 14px 30px rgba(16,42,67,0.07); text-align:center; }
.mypoints-card-premium{ position:relative; isolation:isolate; border-color:rgba(45,108,223,0.48); background:linear-gradient(145deg,rgba(255,255,255,0.98),rgba(234,242,251,0.92)); box-shadow:0 0 0 1px rgba(185,218,255,0.55),0 18px 42px rgba(45,108,223,0.18); }.mypoints-card-premium::before{ content:''; position:absolute; inset:-40% -20%; z-index:-1; background:linear-gradient(115deg,transparent 35%,rgba(185,218,255,0.42) 48%,transparent 60%); transform:translateX(-55%) rotate(8deg); }.mypoints-card-premium.is-sheen-active::before{ animation:premium-sheen 1.6s ease-out 1; }.best-deal{ position:absolute; top:13px; right:13px; padding:5px 9px; border-radius:999px; background:var(--sky-deep); color:#fff; font:800 10px 'Nunito',sans-serif; text-transform:uppercase; letter-spacing:.05em; box-shadow:0 5px 12px rgba(45,108,223,.25); }
.mypoints-art{ width:auto; height:var(--mypoints-art-height,130px); max-width:100%; object-fit:contain; object-position:center bottom; margin:-4px auto 4px; }
.vip-tier-art{ width:var(--vip-tier-icon-size,112px); height:var(--vip-tier-icon-size,112px); max-width:100%; object-fit:contain; object-position:center; margin:0 auto 8px; filter:drop-shadow(0 9px 14px rgba(16,42,67,.16)); }
.mypoints-card.tier-1{ --vip-tier-icon-size:104px; }.mypoints-card.tier-2{ --vip-tier-icon-size:112px; }.mypoints-card.tier-3{ --vip-tier-icon-size:122px; }
.mypoints-card.tier-1{ --mypoints-art-height:104px; }.mypoints-card.tier-2{ --mypoints-art-height:116px; }.mypoints-card.tier-3{ --mypoints-art-height:128px; }.mypoints-card.tier-4{ --mypoints-art-height:140px; }.mypoints-card.tier-5{ --mypoints-art-height:152px; }.mypoints-card.tier-6{ --mypoints-art-height:166px; }
.mypoints-price{ color:var(--sky-deep); font:800 24px/1 'Baloo 2',sans-serif; }.mypoints-points{ margin-top:5px; color:var(--ink); font:800 18px/1 'Baloo 2',sans-serif; }.mypoints-bonus{ margin:8px 0 16px; color:var(--muted); font-size:12px; }.mypoints-card .btn{ margin-top:auto; width:100%; appearance:none; -webkit-appearance:none; background-clip:padding-box; position:relative; z-index:1; }
.vip-tier-promo{ display:flex; flex-direction:column; align-items:center; gap:4px; min-height:30px; margin-top:0; }
.vip-tier-promo > span{ padding:4px 9px; border-radius:999px; background:rgba(216,155,0,.13); color:#996900; font-size:10px; font-weight:800; }
.vip-tier-promo > span[hidden],.vip-tier-pricing > [hidden]{ display:none; }
.vip-tier-pricing{ display:flex; align-items:baseline; justify-content:center; gap:9px; min-height:30px; }
.vip-tier-pricing .mypoints-price{ font-size:24px; }
.vip-tier-pricing s{ color:var(--muted); font-size:14px; }
.vip-tier-benefits{ align-self:stretch; margin:12px 0 16px; padding:0; list-style:none; color:var(--muted); text-align:left; font-size:12px; line-height:1.55; }
.vip-tier-benefits li{ position:relative; padding-inline-start:17px; }
.vip-tier-benefits li::before{ position:absolute; inset-inline-start:1px; color:var(--mint-deep); content:'✓'; font-weight:900; }
.store-action{ min-height:0; border-radius:999px; background-image:none; -webkit-tap-highlight-color:transparent; }.store-action.btn-primary{ border:0; background:var(--sky-deep); color:#fff; box-shadow:0 8px 20px rgba(45,108,223,0.22); }.store-action.btn-secondary{ border:2px solid var(--line); background:var(--panel-solid); color:var(--ink); box-shadow:none; }
.store-action.btn-primary:hover:not(:disabled):not(.is-checkout-busy){ transform:translateY(-2px); background:#245FC9; box-shadow:0 10px 24px rgba(45,108,223,0.28); }
.store-action.btn-secondary:hover:not(:disabled):not(.is-checkout-busy){ border-color:var(--sky-deep); color:var(--sky-deep); }
.store-action:disabled:not(.is-checkout-busy){ opacity:.58; cursor:not-allowed; }
.store-action.is-checkout-busy{ opacity:.9; cursor:wait; }
.store-action.is-checkout-busy::before{ content:''; display:inline-block; flex:0 0 1em; width:1em; height:1em; margin-inline-end:.55em; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:store-checkout-spin .75s linear infinite; }
@keyframes store-checkout-spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .store-action.is-checkout-busy::before{ animation:none; border-right-color:currentColor; border-top-color:transparent; } }
.benefit-icon{ display:grid; place-items:center; width:42px; height:42px; margin-bottom:18px; border-radius:13px; background:rgba(45,108,223,0.12); color:var(--sky-deep); font:800 13px 'Nunito',sans-serif; }
.benefit-card h2{ margin-top:8px; font:800 25px/1 'Baloo 2',sans-serif; color:var(--ink); }
.benefit-card p{ max-width:440px; margin-top:10px; color:var(--muted); font-size:13.5px; line-height:1.6; }
.coming-soon{ display:inline-block; margin-top:18px; color:var(--blush-deep); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.vip-status-chip{ display:inline-flex; align-items:center; width:max-content; max-width:100%; margin-top:14px; padding:7px 11px; border-radius:999px; background:rgba(97,117,138,.12); color:var(--muted); font-size:12px; font-weight:800; }
.vip-status-chip.is-active{ background:rgba(35,154,124,.13); color:var(--mint-deep); }
.vip-status-chip.is-inactive{ background:rgba(97,117,138,.12); color:var(--muted); }
.vip-status-chip.is-unknown{ background:rgba(216,155,0,.13); color:var(--blush-deep); }
.vip-expiry{ margin-top:8px; color:var(--muted); font-size:12px; }
.store-feature-grid .download-meta{ align-items:center; min-height:28px; margin-top:auto; }
.store-feature-grid .vip-status-chip{ margin-top:0; }
.store-availability{ margin-top:8px; color:var(--mint-deep); font-size:12px; font-weight:800; }
.store-feature-grid .store-action{ display:flex; align-items:center; justify-content:center; margin-top:12px; text-decoration:none; }
.store-view-toggle[aria-pressed="true"]{ border:2px solid transparent; background:var(--sky-deep); color:#fff; box-shadow:0 8px 20px rgba(45,108,223,.22); }
.store-action.store-view-toggle[aria-pressed="true"]:hover:not(:disabled){ transform:translateY(-2px); border-color:#245FC9; background:#245FC9; color:#fff; box-shadow:0 10px 24px rgba(45,108,223,.28); }
.store-view-toggle:focus-visible{ outline:3px solid rgba(45,108,223,.45); outline-offset:3px; }

/* ============ DOWNLOADS ============ */
.downloads-page{ padding:54px 0 20px; }
.download-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.downloads-page .download-grid,.store-feature-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.download-card{ position:relative; display:flex; flex-direction:column; min-height:360px; padding:26px; overflow:visible; background:rgba(255,255,255,0.86); border:1px solid var(--line); border-radius:22px; box-shadow:0 14px 30px rgba(16,42,67,0.07); }
.download-card-featured{ background:linear-gradient(145deg,rgba(45,108,223,0.12),rgba(255,229,155,0.2)); border-color:rgba(45,108,223,0.25); }
.download-card-icon{ display:grid; place-items:center; width:44px; height:44px; margin-bottom:20px; border-radius:14px; background:rgba(45,108,223,0.12); color:var(--sky-deep); font:800 19px 'Baloo 2',sans-serif; }
.download-card h2{ margin-top:8px; font:800 26px/1 'Baloo 2',sans-serif; color:var(--ink); }
.download-card p{ margin-top:10px; color:var(--muted); font-size:13.5px; line-height:1.6; }
.download-actions{ display:grid; grid-template-columns:1fr; gap:9px; margin-top:auto; }.download-actions .btn{ width:100%; padding-left:12px; padding-right:12px; text-align:center; }
.download-meta{ display:flex; justify-content:space-between; gap:10px; margin-top:auto; padding:18px 0 14px; color:var(--muted); font-size:11.5px; border-bottom:1px solid var(--line); }
.download-meta strong{ color:var(--ink); text-align:right; }
.download-action{ width:100%; margin-top:16px; text-align:center; }
.download-action.is-pending{ opacity:.66; cursor:not-allowed; }
.requirements-card{ position:relative; display:grid; grid-template-columns:.8fr 1.2fr; gap:30px; margin-top:22px; padding:26px; overflow:visible; background:rgba(255,255,255,0.76); border:1px solid var(--line); border-radius:22px; }
.requirements-card h2{ margin-top:8px; font:800 25px/1 var(--font-heading,'Baloo 2'),sans-serif; color:var(--ink); }
.requirements-card ul{ display:grid; gap:10px; align-content:center; margin:0; padding-left:20px; color:var(--muted); font-size:14px; line-height:1.5; }

/* ================= WIKI: layout de duas colunas ================= */

.wiki-shell{ display:grid; grid-template-columns:232px 1fr; gap:0; align-items:start; }

.wiki-sidebar{ position:sticky; top:0; align-self:start; padding:36px 20px 40px 0; border-right:1px solid var(--line); min-height:calc(100vh - 40px); }
.wiki-sidebar-title{ font-family:'Baloo 2', sans-serif; font-size:12px; font-weight:700; color: var(--muted); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:14px; padding-left:14px; }
.wiki-sidebar-back{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color: var(--muted); padding:8px 14px 20px; }
.wiki-sidebar-back:hover{ color: var(--sky-deep); }
.wiki-nav{ list-style:none; }
.wiki-nav-item{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 14px; border-radius:12px; font-size:14px; font-weight:700; color:var(--muted); margin-bottom:2px; position:relative; transition: background .15s, color .15s; }
.wiki-nav-item:hover{ background: rgba(45,108,223,0.10); color: var(--ink); }
.wiki-nav-item.active{ background: rgba(45,108,223,0.16); color: var(--ink); }
.wiki-nav-item.active::before{ content:''; position:absolute; left:0; top:8px; bottom:8px; width:4px; border-radius:3px; background: linear-gradient(180deg, var(--sky-deep), var(--blush-deep)); }
.wiki-nav-count{ font-size:12px; font-weight:700; color: var(--muted); }
.wiki-nav-item.active .wiki-nav-count{ color: var(--blush-deep); }

.wiki-main{ padding:36px 0 60px 40px; min-width:0; }

.wiki-topbar{ display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:8px; flex-wrap:wrap; }
.breadcrumb{ font-size:13px; color: var(--muted); font-weight:700; padding-bottom:10px; }
.breadcrumb a:hover{ color: var(--sky-deep); }

.wiki-search{ position:relative; width:260px; max-width:100%; }
.wiki-search input{ width:100%; background: var(--panel-solid); border:2px solid var(--line); border-radius:999px; padding:10px 16px 10px 38px; color:var(--ink); font-family:'Nunito',sans-serif; font-size:13.5px; }
.wiki-search input:focus{ outline:none; border-color: var(--sky-deep); }
.wiki-search svg{ position:absolute; left:14px; top:50%; transform:translateY(-50%); width:14px; height:14px; stroke:var(--muted); }
.wiki-search-empty{ font-size:13px; color:var(--muted); padding:18px 4px; display:none; }.wiki-search-empty.is-visible{ display:block; }
.wiki-section-tight{ padding-top:8px; padding-bottom:20px; }.wiki-section-flush{ padding-top:0; }.wiki-back-link{ margin-top:28px; }

/* wiki: cards de categoria (raiz da wiki) */
.category-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:18px; }
.category-card{ display:block; background: var(--panel-solid); border:1px solid var(--line); border-radius:18px; padding:24px; transition: border-color .15s, transform .15s, box-shadow .15s; }
.category-card:hover{ border-color: var(--sky-deep); transform:translateY(-3px); box-shadow: 0 14px 30px rgba(16,42,67,0.08); }
.category-label{ font-family:'Baloo 2', sans-serif; font-weight:700; font-size:16px; color: var(--ink); }
.category-count{ font-size:12.5px; font-weight:700; color: var(--muted); margin-top:8px; }

/* wiki: tabela de listagem, colunas ordenáveis */
.wiki-table{ width:100%; border-collapse:collapse; background: var(--panel-solid); border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.wiki-table th, .wiki-table td{ text-align:left; padding:13px 16px; font-size:14px; border-bottom:1px solid var(--line); }
.wiki-table thead th{ font-family:'Baloo 2', sans-serif; font-size:12px; font-weight:700; color: var(--sky-deep); background: rgba(45,108,223,0.10); }
.wiki-table thead th.sortable{ cursor:pointer; user-select:none; }
.wiki-table thead th.sortable:hover{ color: var(--blush-deep); }
.wiki-table thead th.sortable::after{ content:'↕'; opacity:0.4; margin-left:6px; font-size:10px; }
.wiki-table thead th.sortable.sort-asc::after{ content:'↑'; opacity:1; color: var(--ink); }
.wiki-table thead th.sortable.sort-desc::after{ content:'↓'; opacity:1; color: var(--ink); }
.wiki-table tbody tr:hover{ background: rgba(45,108,223,0.06); }
.wiki-table tbody tr:last-child td{ border-bottom:none; }
.wiki-table a{ font-weight:700; color: var(--sky-deep); }
.wiki-table a:hover{ color: var(--blush-deep); }
.wiki-pagination{ display:flex; align-items:center; justify-content:center; gap:14px; width:fit-content; max-width:100%; margin:16px auto 0; padding:8px 10px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.78); box-shadow:0 8px 22px rgba(16,42,67,.07); color:var(--muted); font-size:13px; font-weight:700; }
.wiki-pagination button{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; flex:0 0 40px; border:1px solid var(--line); border-radius:50%; padding:0; color:var(--muted); background:rgba(255,255,255,.78); cursor:pointer; transition:transform .15s,border-color .15s,color .15s,background .15s,box-shadow .15s; }
.wiki-pagination button svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.wiki-pagination button:hover:not(:disabled){ transform:translateY(-1px); border-color:rgba(45,108,223,.38); color:var(--sky-deep); background:var(--panel-solid); box-shadow:0 5px 14px rgba(45,108,223,.12); }
.wiki-pagination button:disabled{ opacity:.42; cursor:default; box-shadow:none; transform:none; }
#wiki-page-status{ min-width:132px; text-align:center; color:var(--ink); font-variant-numeric:tabular-nums; }
@media (max-width:480px){
  .wiki-pagination{ gap:10px; padding:6px 8px; }
  #wiki-page-status{ min-width:116px; font-size:12px; }
}

/* wiki: página de detalhe (artigo + infobox) */
.wiki-article-layout{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:36px; align-items:end; }
.wiki-item-panels{ display:grid; gap:16px; min-width:0; }
.wiki-item-card .infobox-name{ margin:0; }
.wiki-item-card dl{ padding:4px 18px 18px; }
.wiki-item-heading{ margin-bottom:22px; }
.wiki-item-heading h1{ margin:0 0 6px; }
.wiki-item-heading .wiki-article-body{ margin:10px 0 0; }
.wiki-item-attributes{ margin-top:0; }
.wiki-item-attributes .infobox-name{ padding:8px 18px 2px; }
.wiki-item-attributes dl{ margin:0; padding:0 18px 4px; }
.wiki-item-attributes dl{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.wiki-item-attributes .infobox-row{ padding:4px 10px; }
.wiki-item-back-link{ margin-top:20px; }
.wiki-item-art{ min-height:188px; margin:14px 14px 4px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; overflow:hidden; border:1px solid rgba(45,108,223,.1); border-radius:14px; background:radial-gradient(ellipse at 50% 38%,rgba(255,255,255,.96),rgba(230,241,255,.88) 68%,rgba(226,237,249,.72)); color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.04em; }
.wiki-item-art-icon{ width:84px; height:84px; stroke:rgba(45,108,223,.58); stroke-width:2.25; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 7px 10px rgba(45,108,223,.12)); }
.wiki-item-card .infobox-name{ padding-top:14px; }
.wiki-rewards-card{ margin-top:34px; padding:22px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.84); box-shadow:0 12px 30px rgba(16,42,67,.07); }
.wiki-rewards-card h2{ margin:0 0 12px; font-family:'Baloo 2',sans-serif; font-size:20px; color:var(--ink); }
.wiki-rewards-list{ display:grid; gap:0; }
.wiki-reward-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 0; border-top:1px solid var(--line); font-size:14px; }
.wiki-reward-item{ display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:6px; min-width:0; }
.wiki-reward-item>a,.wiki-reward-name{ min-width:0; color:var(--sky-deep); font-weight:800; text-decoration:none; }
.wiki-reward-item>a:hover{ color:var(--blush-deep); text-decoration:underline; }
.wiki-reward-quantity{ color:var(--muted); font-size:13px; font-weight:700; white-space:nowrap; }
.wiki-reward-details{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; color:var(--muted); font-size:12px; font-weight:700; text-align:right; }
.wiki-reward-rate{ padding:0; background:transparent; color:var(--muted); white-space:nowrap; }
.wiki-article h1{ margin-bottom:6px; }
.wiki-article-body{ color: var(--muted); font-size:15px; line-height:1.75; margin-top:18px; max-width:60ch; }

.infobox{ background: var(--panel-solid); border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.infobox-strip{ height:6px; background: linear-gradient(90deg, var(--sky-deep), var(--blush-deep), var(--mint-deep)); }
.infobox-image{ height:150px; display:flex; align-items:center; justify-content:center; background: var(--panel); font-family:'Baloo 2', sans-serif; font-size:12px; font-weight:700; color: var(--muted); text-transform:uppercase; letter-spacing:0.06em; }
.infobox-name{ font-family:'Baloo 2', sans-serif; font-weight:700; font-size:16px; padding:16px 18px 4px; color: var(--ink); }
.infobox-category{ font-size:12px; font-weight:700; color: var(--blush-deep); text-transform:uppercase; letter-spacing:0.06em; padding:0 18px 14px; }
.infobox dl{ padding:4px 18px 18px; }
.infobox-row{ display:flex; justify-content:space-between; gap:10px; padding:9px 0; border-top:1px solid var(--line); font-size:13px; }
.infobox-row dt{ color: var(--muted); font-weight:700; }
.infobox-row dd{ font-weight:700; text-align:right; color: var(--ink); }

footer{ padding:40px 0 60px; border-top:1px solid var(--line); margin-top:40px; }
.patch-notes-page{ padding:56px 0 80px; }
.patch-notes-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.patch-note-card{ display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding:24px; border:1px solid var(--line); border-radius:20px; background:var(--panel-solid); box-shadow:0 12px 28px rgba(16,42,67,.07); }
.patch-note-card time{ color:var(--muted); font-size:12px; font-weight:800; }
.patch-note-card h2{ margin:0; font-family:'Baloo 2',sans-serif; color:var(--ink); font-size:22px; line-height:1.2; }
.patch-note-card p{ flex:1; color:var(--muted); line-height:1.6; }
.foot-row{ display:flex; justify-content:space-between; align-items:center; color: var(--muted); font-size:13px; font-weight:700; flex-wrap:wrap; gap:12px; }
.footer-social{ margin-left:auto; }
.footer-tools{ display:flex; align-items:center; gap:14px; margin-left:auto; }.footer-tools .footer-social{ margin-left:0; }.back-to-top{ display:inline-flex; align-items:center; justify-content:center; color:var(--muted); opacity:.82; transition:color .15s, border-color .15s, background .15s, opacity .15s, transform .15s; }.back-to-top-button{ width:32px; height:32px; border:1px solid var(--line); border-radius:50%; background:rgba(255,255,255,0.72); font-size:17px; font-weight:800; line-height:1; }.back-to-top:hover{ color:var(--sky-deep); border-color:rgba(45,108,223,0.38); background:var(--panel-solid); opacity:1; transform:translateY(-1px); }

@media (max-width: 900px){
  .wiki-shell{ grid-template-columns:1fr; }
  .wiki-sidebar{ position:static; min-height:auto; border-right:none; border-bottom:1px solid var(--line); padding:20px 0; }
  .wiki-nav{ display:flex; flex-wrap:wrap; gap:6px; }
  .wiki-nav-item{ padding:8px 12px; }
  .wiki-main{ padding-left:0; }
  .wiki-article-layout{ grid-template-columns:1fr; }
}
@media (max-width: 1100px){
  .wiki-article-layout{ grid-template-columns:minmax(0,1fr); gap:18px; }
  .wiki-article-layout>.wiki-article{ display:contents; }
  .wiki-item-heading{ order:0; }
  .wiki-item-panels{ grid-template-columns:minmax(0,1fr); }
  .wiki-article-layout>.wiki-item-panels{ order:1; width:100%; min-width:0; }
  .wiki-item-attributes{ order:2; width:100%; min-width:0; }
  .wiki-item-art{ min-height:132px; margin:10px 12px 2px; }
  .wiki-item-art-icon{ width:68px; height:68px; }
  .wiki-item-card .infobox-name{ padding-top:10px; }
  .wiki-item-card dl{ padding-bottom:12px; }
}
@media (max-width: 560px){
  .wiki-item-attributes dl{ grid-template-columns:1fr; }
  .wiki-item-heading{ margin-bottom:16px; }
  .wiki-item-attributes dl{ padding-right:14px; padding-left:14px; }
}
@media (max-width: 980px){
  .download-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 860px){
  .news-list{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px){
  .patch-notes-grid{ grid-template-columns:1fr; }
  .wiki-reward-row{ align-items:flex-start; flex-direction:column; gap:8px; }
  .wiki-reward-details{ justify-content:flex-start; text-align:left; }
  .news-panel{ padding:38px 18px 22px; }
  .hero-layout{ grid-template-columns:1fr; gap:8px; }
  .hero-art{ display:none; }
  .news-panel-head{ display:block; }
  .news-panel-head{ padding-right:0; }
  .promo-video-panel{ grid-template-columns:1fr; padding:38px 18px 22px; }
  .promo-video-frame{ min-height:0; }
  .container-character{ top:0; right:12px; bottom:auto; left:auto; width:auto; max-width:none; height:120px; max-height:none; transform:translateY(calc(-100% + 11px)); }
  #news .container-character{ right:auto; left:12px; }
  .news-updated{ display:block; margin-top:14px; }
  .news-list{ grid-template-columns:1fr; }
  .benefit-grid{ grid-template-columns:1fr; }
  .panel-store-cta{ align-items:flex-start; flex-direction:column; }
  .mypoints-grid{ grid-template-columns:1fr; }
  .download-grid{ grid-template-columns:1fr; }
  .downloads-page .download-grid,.store-feature-grid{ grid-template-columns:1fr; }
  .store-account-links{ gap:14px; }
  .store-orders-modal .topup-rewards-backdrop{ padding:12px; }
  .store-orders-dialog{ max-height:88vh; padding:26px 18px 18px; }
  .store-order-item{ grid-template-columns:minmax(0,1fr); gap:10px; }
  .store-order-action{ width:100%; }
  .requirements-card{ grid-template-columns:1fr; gap:18px; }
  .account-overview{ align-items:flex-start; flex-wrap:wrap; }
  .account-status{ margin-left:82px; }
  .foot-row{ justify-content:center; text-align:center; }
  .footer-social{ width:100%; margin-left:0; justify-content:center; }
  .footer-tools{ width:100%; justify-content:center; flex-wrap:wrap; }.footer-tools .footer-social{ width:auto; }
}
@media (prefers-reduced-motion: reduce){
  .btn-primary:hover,.store-action.btn-primary:hover:not(:disabled),.store-action.store-view-toggle[aria-pressed="true"]:hover:not(:disabled){ transform:none; }
  .mypoints-card-premium::before{ display:none; }
}
.store-order-state.is-warning{ background:rgba(216,155,0,.13); color:var(--blush-deep); }
.mypoints-card h3{ margin:4px 0 12px; color:var(--ink); font:800 22px/1.1 'Baloo 2',sans-serif; }
