:root{
  color-scheme:dark;
  --bg:#07060b;--surface:#100d17;--surface-2:#171121;--surface-3:#21152e;
  --line:rgba(255,255,255,.10);--muted:#aaa1b6;--text:#fff;--purple:#9d4edd;
  --purple-2:#c166ff;--pink:#f0a7ff;--green:#44d68b;--red:#ff6678;--amber:#ffc857;
  --shadow:0 24px 80px rgba(0,0,0,.45);--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 15% 0%,rgba(132,47,189,.13),transparent 31%),radial-gradient(circle at 90% 40%,rgba(103,46,160,.10),transparent 25%),var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;min-height:100vh}.ambient{position:fixed;pointer-events:none;filter:blur(80px);opacity:.22;z-index:-1}.ambient.one{width:320px;height:320px;background:#7b2cbf;left:-90px;top:180px}.ambient.two{width:300px;height:300px;background:#b5179e;right:-120px;top:55%}button,input,select,textarea{font:inherit}button,a{transition:.2s ease}button{cursor:pointer}.topbar{position:sticky;top:0;z-index:80;display:flex;align-items:center;gap:26px;padding:13px clamp(18px,4vw,58px);background:rgba(7,6,11,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;min-width:max-content}.brand img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 0 16px rgba(157,78,221,.45))}.brand span{display:grid}.brand small,.eyebrow{font-size:.63rem;font-weight:900;letter-spacing:.16em;color:#d698ff}.brand strong{font-family:Montserrat,sans-serif;font-size:.92rem}.nav{display:flex;gap:6px;flex:1;justify-content:center;overflow:auto}.nav a{padding:9px 11px;border-radius:11px;color:#cfc7d7;text-decoration:none;font-size:.79rem;font-weight:800;white-space:nowrap}.nav a:hover,.nav a.active{background:rgba(157,78,221,.16);color:#fff}.header-actions{display:flex;gap:8px}.shell{width:min(1420px,calc(100% - 32px));margin:0 auto;padding:34px 0 70px}.hero{display:flex;justify-content:space-between;align-items:end;gap:28px;padding:32px;border:1px solid rgba(193,102,255,.24);border-radius:28px;background:linear-gradient(135deg,rgba(88,32,124,.30),rgba(15,12,22,.86));box-shadow:var(--shadow)}.hero h1{font:900 clamp(2rem,4vw,4.2rem)/.98 Montserrat,sans-serif;margin:8px 0 12px;background:linear-gradient(90deg,#fff,#e6b7ff);-webkit-background-clip:text;color:transparent}.hero p{color:#cec4d6;margin:0;max-width:730px}.hero-side{display:flex;align-items:end;gap:9px}.hero-side label{display:grid;gap:6px;color:var(--muted);font-size:.72rem;font-weight:700}.btn{border:1px solid var(--line);border-radius:12px;padding:11px 16px;color:#fff;background:#18131f;font-weight:850;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{transform:translateY(-1px);border-color:rgba(193,102,255,.5)}.btn.primary{background:linear-gradient(135deg,#a344ed,#7724c3);border-color:#bd66f7;box-shadow:0 10px 28px rgba(125,39,197,.28)}.btn.secondary{background:#291839}.btn.ghost{background:rgba(255,255,255,.035)}.btn.danger{background:rgba(255,76,97,.12);border-color:rgba(255,102,120,.32);color:#ff9aa7}.btn.whatsapp{background:#0c6f42;border-color:#20c878}.btn.small{padding:8px 11px;font-size:.75rem}.btn.wide{width:100%}.notice{margin:18px 0;padding:14px 18px;border-radius:14px;background:rgba(255,200,87,.1);border:1px solid rgba(255,200,87,.3);color:#ffe8a9}.member-area{margin-top:24px}.member-welcome{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(16,13,23,.9)}.member-profile{display:flex;align-items:center;gap:15px}.member-profile img,.evolution-head img{width:68px;height:68px;border-radius:50%;object-fit:cover;border:3px solid #6c6276}.member-profile img.frame-violeta,.evolution-head img.frame-violeta{border-color:#c166ff;box-shadow:0 0 24px rgba(193,102,255,.65)}.member-profile h2{margin:3px 0;font:900 1.35rem Montserrat,sans-serif}.member-profile span{color:#d4c6dc;font-size:.8rem}.member-actions{display:flex;gap:8px;flex-wrap:wrap}.member-tabs{display:flex;gap:8px;margin:14px 0;padding:6px;border:1px solid var(--line);border-radius:15px;background:#0e0b14;overflow:auto}.member-tabs button{border:0;background:transparent;color:#bcb1c5;border-radius:10px;padding:10px 14px;font-size:.77rem;font-weight:850;white-space:nowrap}.member-tabs button.active{color:#fff;background:linear-gradient(135deg,#963cdd,#6820aa)}.member-tab{display:none}.member-tab.active{display:block;animation:fade .2s ease}@keyframes fade{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}.today-hero{display:flex;justify-content:space-between;align-items:center;padding:30px;border:1px solid rgba(193,102,255,.25);border-radius:var(--radius);background:linear-gradient(135deg,#24122f,#100d17)}.today-hero h2{font:900 clamp(1.7rem,3vw,2.8rem) Montserrat,sans-serif;margin:6px 0}.today-hero p{color:var(--muted);margin:0}.date-chip,.pill,.badge,.level-chip,.done-chip{border:1px solid var(--line);background:rgba(255,255,255,.05);border-radius:999px;padding:7px 11px;font-size:.7rem;font-weight:850;color:#e5d9ed}.today-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.today-card{position:relative;overflow:hidden;min-height:190px;padding:19px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#15101d,#0d0a12)}.today-card.hot{border-color:rgba(255,102,120,.42);box-shadow:inset 0 0 30px rgba(255,76,97,.05)}.today-card.success{border-color:rgba(68,214,139,.35)}.today-card.birthday{border-color:rgba(255,200,87,.36)}.today-card.social{grid-column:span 2}.today-card-image{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.12;filter:saturate(.8)}.today-card>*{position:relative}.today-icon{font-size:1.55rem;margin-bottom:12px}.today-card small{color:#be83e4;font-weight:900;letter-spacing:.12em}.today-card h3{margin:8px 0;font-size:1.03rem}.today-card p{color:var(--muted);font-size:.78rem;line-height:1.5;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.today-action{margin-top:auto;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.card-action{border:0;background:transparent;color:#d58fff;padding:0;text-decoration:none;font-weight:850;font-size:.76rem}.card-action:hover{color:#fff}.done-chip{color:#8cf2ba;border-color:rgba(68,214,139,.3);padding:5px 8px}.community-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.panel{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:rgba(16,13,23,.91);box-shadow:0 16px 50px rgba(0,0,0,.18)}.panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.panel h2,.panel h3{font-family:Montserrat,sans-serif;margin:5px 0 0}.hint{font-size:.69rem;color:#92879d;text-align:right;max-width:340px}.passport-counter{font:900 1.35rem Montserrat,sans-serif;color:#dda3ff}.passport-progress,.mission-meter,.prediction-bar{height:8px;background:#29222f;border-radius:999px;overflow:hidden}.passport-progress span,.mission-meter span,.prediction-bar span{height:100%;display:block;background:linear-gradient(90deg,#8c2eda,#df7dff);border-radius:inherit}.passport-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.passport-item{display:flex;align-items:center;gap:9px;padding:10px;border-radius:12px;background:#0c0a10;border:1px solid var(--line);color:#aba1b3;font-size:.75rem}.passport-item span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#21172b}.passport-item.complete{color:#fff;border-color:rgba(68,214,139,.3)}.passport-item.complete span{background:#176d45;color:#a8ffd1}.passport-reward{display:flex;justify-content:space-between;gap:12px;padding:13px;border-radius:13px;background:linear-gradient(90deg,rgba(157,78,221,.18),rgba(255,255,255,.02))}.passport-reward span{font-size:.73rem;color:var(--muted);text-align:right}.evolution-head{display:flex;align-items:center;gap:13px}.evolution-head h3{margin:6px 0 2px}.evolution-head p{color:var(--muted);margin:0;font-size:.76rem}.level-chip{display:inline-flex;color:#efc8ff}.evolution-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:16px 0}.evolution-stats div{padding:12px;background:#0c0a10;border:1px solid var(--line);border-radius:12px}.evolution-stats strong{display:block}.evolution-stats span{color:var(--muted);font-size:.68rem}.profile-details{font-size:.76rem;color:#c7bdcd}.profile-details p{margin:8px 0}.mission-panel{margin-top:14px}.mission-list{display:grid;gap:9px}.mission-card{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.55fr) auto;gap:18px;align-items:center;padding:14px;border-radius:14px;background:#0c0a10;border:1px solid var(--line)}.mission-card p,.mission-card small{color:var(--muted);font-size:.72rem}.mission-card p{margin:4px 0}.mission-card b{color:#dfadff}.wall-list,.poll-list,.prediction-list,.challenge-list,.match-list{display:grid;gap:12px}.wall-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:16px;border:1px solid var(--line);border-radius:17px;background:#0c0a10}.wall-card:has(.wall-image){grid-template-columns:150px auto minmax(0,1fr)}.wall-image img{width:150px;height:120px;object-fit:cover;border-radius:12px}.wall-icon{font-size:1.6rem}.wall-content small{color:#7f7489}.wall-content h3{margin:4px 0}.wall-content p{margin:6px 0 10px;color:#c1b8c8;line-height:1.55}.wall-content>a{color:#d597ff;text-decoration:none;font-size:.76rem;font-weight:800}.reaction-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.reaction{border:1px solid var(--line);background:#18121f;color:#fff;border-radius:999px;padding:7px 10px}.reaction.selected{border-color:#c166ff;background:#3b1852}.reaction span{font-size:.67rem;color:#bfb5c6}.poll-card,.prediction-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:#0c0a10}.poll-card header,.prediction-card header{display:flex;justify-content:space-between;gap:18px}.poll-card h3{margin:8px 0 3px}.poll-card p,.poll-card footer,.prediction-card footer{color:var(--muted);font-size:.73rem}.poll-options{display:grid;gap:8px;margin:15px 0}.poll-option{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:12px;text-align:left;padding:13px;border:1px solid var(--line);border-radius:12px;background:#15101c;color:#fff}.poll-option.selected{border-color:#c166ff}.poll-option-fill{position:absolute;inset:0 auto 0 0;background:rgba(157,78,221,.16);pointer-events:none}.poll-option strong,.poll-option em{position:relative}.poll-option em{font-style:normal;color:#c6b9ce;font-size:.7rem}.prediction-fighters{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:13px;margin:18px 0}.prediction-fighter{display:grid;justify-items:center;gap:7px;border:1px solid var(--line);background:#15101c;color:#fff;border-radius:16px;padding:15px}.prediction-fighter.selected{border-color:#c166ff;box-shadow:0 0 22px rgba(157,78,221,.2)}.prediction-fighter img{width:78px;height:78px;border-radius:50%;object-fit:cover}.prediction-fighter span{font-size:.7rem;color:var(--muted)}.versus{font:900 1.2rem Montserrat,sans-serif;color:#c166ff}.member-grid,.layout{display:grid;grid-template-columns:1.4fr .6fr;gap:14px}.rules ol{padding-left:20px;color:#c9bfce;line-height:1.9;font-size:.8rem}.challenge-card{padding:17px;border:1px solid var(--line);border-radius:17px;background:#0c0a10}.challenge-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:13px}.challenge-head>img{width:62px;height:62px;border-radius:50%;object-fit:cover}.challenge-head h3{margin:3px 0}.challenge-head p{margin:4px 0;color:var(--muted);font-size:.73rem}.challenge-rules{max-width:600px}.challenge-score{display:flex;align-items:center;gap:6px;font:900 1.3rem Montserrat,sans-serif}.challenge-score small{color:#7f7489}.status{padding:7px 9px;border-radius:999px;background:#21172b;border:1px solid var(--line);font-size:.65rem;font-weight:900;white-space:nowrap}.status.confirmado,.status.aceito{color:#8cf2ba;border-color:rgba(68,214,139,.3)}.status.contestado{color:#ff9aa7;border-color:rgba(255,102,120,.3)}.contest-note{margin:12px 0;padding:10px;border-radius:10px;background:rgba(255,102,120,.09);color:#ffc0c8;font-size:.74rem}.challenge-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.podium-section{margin:36px 0 16px}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.section-title h2{font:900 1.8rem Montserrat,sans-serif;margin:5px 0}.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.podium-card{text-align:center;padding:25px 16px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(160deg,#17101f,#0c0910)}.podium-card.first{border-color:rgba(255,200,87,.45);order:2;transform:translateY(-10px)}.podium-card.second{order:1}.podium-card.third{order:3}.podium-card .medal{font-size:2rem}.podium-card img{width:105px;height:105px;border-radius:50%;object-fit:cover;border:4px solid #302637}.podium-card h3{font:900 1.1rem Montserrat,sans-serif}.podium-card p{color:var(--muted);font-size:.75rem}.layout{margin-top:14px}.rank-panel{min-width:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:690px}th,td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--line);font-size:.74rem}th{color:#9e92a7;font-size:.63rem;letter-spacing:.08em}.position{font-weight:900;color:#d798ff}.rank-player{display:flex;align-items:center;gap:8px}.rank-player img{width:34px;height:34px;border-radius:50%;object-fit:cover}.match-card{padding:14px;border:1px solid var(--line);border-radius:15px;background:#0c0a10}.match-versus{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px}.match-person{display:grid;justify-items:center;gap:5px;text-align:center;font-size:.7rem}.match-person img{width:52px;height:52px;border-radius:50%;object-fit:cover}.match-person.winner img{border:2px solid var(--amber)}.match-score{text-align:center}.score{font:900 1.25rem Montserrat,sans-serif}.match-meta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:10px;color:#8f8498;font-size:.64rem}.link-button{border:0;background:transparent;color:#d496ff;font-weight:800;padding:0}.champions{margin-top:14px}.champion-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.champion-month{padding:15px;border:1px solid var(--line);border-radius:15px;background:#0c0a10}.champion-month h3{text-transform:capitalize}.champion-line{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:9px;padding:8px 0;border-top:1px solid var(--line)}.champion-line img{width:38px;height:38px;border-radius:50%;object-fit:cover}.champion-line small{display:block;color:var(--muted);font-size:.65rem}.modal[hidden]{display:none!important}.modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.78);backdrop-filter:blur(9px)}.modal-card{width:min(720px,100%);max-height:92vh;overflow:auto;border:1px solid rgba(193,102,255,.35);border-radius:22px;padding:21px;background:#100c17;box-shadow:var(--shadow)}.modal-card.compact{width:min(440px,100%)}.modal-card.proof-card{width:min(1000px,100%)}.modal-card>header{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.modal-card>header h2{margin:5px 0;font-family:Montserrat,sans-serif}.modal-card>header button{border:0;background:#25182f;color:#fff;width:34px;height:34px;border-radius:50%;font-size:1.2rem}.modal form{display:grid;gap:13px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}label{display:grid;gap:6px;color:#c9becf;font-size:.73rem;font-weight:750}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:#0a080d;color:#fff;padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#a852e7;box-shadow:0 0 0 3px rgba(168,82,231,.13)}textarea{resize:vertical}label small{color:#8f8498;font-weight:400}.form-error,.error{color:#ff8b9a;font-size:.75rem}.info-box{padding:11px;border-radius:11px;background:rgba(193,102,255,.08);border:1px solid rgba(193,102,255,.22);color:#cabbd3;font-size:.73rem;line-height:1.5}.actions{display:flex;justify-content:flex-end;gap:8px}.progress{padding:11px;border-radius:11px;background:#241632;color:#e1b7fa}.proof-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.proof-previews article{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);border-radius:11px}.proof-previews img{width:62px;height:54px;object-fit:cover;border-radius:8px}.proof-previews small{display:block;color:var(--muted);font-size:.65rem}.proof-empty{padding:15px;border:1px dashed var(--line);border-radius:11px;text-align:center;color:var(--muted)}.proof-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.proof-gallery figure{margin:0}.proof-gallery img{width:100%;max-height:430px;object-fit:contain;border-radius:13px;background:#050407}.proof-gallery figcaption{text-align:center;color:var(--muted);font-size:.72rem;padding:7px}.empty{padding:22px;text-align:center;color:#8f8498;border:1px dashed var(--line);border-radius:13px}.toast{position:fixed;right:22px;bottom:22px;z-index:300;max-width:430px;padding:13px 17px;border-radius:12px;background:#176d45;color:#fff;opacity:0;transform:translateY(15px);pointer-events:none;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:none}.toast.error{background:#872838}.toast.warn{background:#7a5312}.is-busy:after{content:'Processando...';position:fixed;z-index:500;left:50%;bottom:22px;transform:translateX(-50%);padding:10px 16px;border-radius:999px;background:#2d1740;border:1px solid #9d4edd;color:#fff;font-size:.75rem;font-weight:800}.whatsapp-fallback-panel{position:fixed;z-index:250;right:18px;bottom:18px;width:min(430px,calc(100% - 36px));padding:17px;border:1px solid rgba(32,200,120,.45);border-radius:17px;background:#0a1b13;box-shadow:var(--shadow)}.whatsapp-fallback-panel strong{color:#8ff0b9}.whatsapp-fallback-panel p{font-size:.72rem;color:#a6c8b5}.fallback-links{display:flex;gap:7px;flex-wrap:wrap}.fallback-links a{padding:8px 10px;border-radius:9px;background:#168755;color:#fff;text-decoration:none;font-size:.72rem;font-weight:800}.fallback-close{position:absolute;right:8px;top:7px;border:0;background:transparent;color:#fff;font-size:1.2rem}
@media(max-width:1100px){.topbar{flex-wrap:wrap}.nav{order:3;width:100%;justify-content:flex-start}.today-grid{grid-template-columns:repeat(2,1fr)}.community-grid,.member-grid,.layout{grid-template-columns:1fr}.champion-months{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.shell{width:min(100% - 20px,1420px);padding-top:18px}.topbar{padding:10px 12px;gap:10px}.brand span{display:none}.nav{gap:2px}.nav a{font-size:.68rem;padding:8px}.header-actions .btn{font-size:.67rem;padding:9px}.hero{padding:22px;align-items:flex-start;flex-direction:column}.hero-side{width:100%;flex-wrap:wrap}.member-welcome,.today-hero,.panel>header,.section-title{align-items:flex-start;flex-direction:column}.member-actions{width:100%}.member-actions .btn{flex:1}.today-grid{grid-template-columns:1fr}.today-card.social{grid-column:auto}.community-grid{grid-template-columns:1fr}.passport-list{grid-template-columns:1fr}.mission-card{grid-template-columns:1fr;gap:8px}.podium{grid-template-columns:1fr}.podium-card.first,.podium-card.second,.podium-card.third{order:initial;transform:none}.champion-months{grid-template-columns:1fr}.wall-card,.wall-card:has(.wall-image){grid-template-columns:auto 1fr}.wall-image{grid-column:1/-1}.wall-image img{width:100%;height:180px}.prediction-fighters{grid-template-columns:1fr}.versus{padding:2px}.challenge-head{grid-template-columns:auto 1fr}.challenge-head .status,.challenge-score{grid-column:2}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.proof-previews,.proof-gallery{grid-template-columns:1fr}.modal{padding:8px}.modal-card{padding:16px}.date-chip{font-size:.63rem}}
.achievement-strip{display:flex;gap:6px;flex-wrap:wrap;margin-top:13px}.achievement-strip span{padding:6px 8px;border-radius:999px;background:rgba(157,78,221,.13);border:1px solid rgba(193,102,255,.22);font-size:.63rem;color:#e8cff7}.achievement-strip small{color:var(--muted)}

/* =========================================================
   V18.3 — RESPONSIVIDADE MOBILE / SAFE AREA
   ========================================================= */
html, body { max-width: 100%; overflow-x: clip; }
img, video, canvas, svg { max-width: 100%; }

@supports (padding: max(0px)) {
  .topbar { padding-top: max(10px, env(safe-area-inset-top)); }
  .shell { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
}

@media (max-width: 720px) {
  .topbar {
    position: sticky;
    top: 0;
    display: grid;
    grid-template-columns: 48px minmax(0,1fr) auto;
    grid-template-areas:
      "brand spacer actions"
      "nav nav nav";
    padding: 10px 12px 9px;
    gap: 8px;
  }
  .brand { grid-area: brand; min-width: 0; }
  .brand img { width: 46px; height: 46px; }
  .header-actions { grid-area: actions; justify-self: end; min-width: 0; }
  .header-actions .btn { min-height: 40px; max-width: 170px; white-space: normal; line-height: 1.15; }
  .nav {
    grid-area: nav;
    order: initial;
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
    gap: 6px;
    padding: 2px 0 5px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .nav::-webkit-scrollbar { display: none; }
  .nav a {
    flex: 0 0 auto;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    padding: 9px 11px;
    border: 1px solid rgba(193,102,255,.12);
    border-radius: 999px;
    background: #120e18;
    font-size: .68rem;
  }
  .shell { width: calc(100% - 18px); padding-top: 14px; }
  .hero { padding: 19px 17px; border-radius: 21px; }
  .hero h1 { font-size: clamp(2rem,10vw,2.85rem); }
  .hero-side > * { flex: 1 1 150px; }
  .member-welcome { padding: 16px; }
  .member-profile { align-items: flex-start; }
  .member-profile img { width: 58px; height: 58px; }
  .member-actions { display: grid; grid-template-columns: 1fr; }
  .member-actions .btn { width: 100%; }
  .member-tabs { border-radius: 13px; }
  .today-hero { padding: 20px 16px; }
  .panel { padding: 16px; border-radius: 18px; }
  .panel > header { gap: 8px; }
  .hint { text-align: left; }
  .prediction-fighter { padding: 12px; }
  .prediction-fighter img { width: 66px; height: 66px; }
  .podium-card { padding: 20px 14px; }
  .modal-card { width: 100%; max-height: calc(100dvh - 16px); border-radius: 20px; }
  .actions { display: grid; grid-template-columns: 1fr; }
  .actions .btn { width: 100%; }
}

/* ========================================================================== */
/* V20.4 — ARENA X1 COM UM CARD POR LADO                                    */
/* ========================================================================== */
.ns-battle-board{
  position:relative;
  width:min(100%,920px);
  min-height:440px;
  margin:16px auto;
  overflow:hidden;
  color:#fff;
  border:1px solid rgba(182,112,255,.46);
  border-radius:24px;
  background:#090510 url('../assets/battle-board/arena-background.png') center/cover no-repeat;
  box-shadow:0 24px 55px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.025);
}
.ns-battle-board::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(78,18,151,.88) 0%,rgba(25,10,54,.22) 34%,rgba(5,7,13,.12) 50%,rgba(78,35,6,.24) 66%,rgba(221,82,0,.84) 100%);
  pointer-events:none;
}
.ns-battle-board::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 45%,transparent 0 29%,rgba(3,3,8,.15) 66%,rgba(3,3,8,.74) 100%);
  pointer-events:none;
}
.ns-battle-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(150px,190px) minmax(280px,1fr) minmax(150px,190px);
  gap:22px;
  align-items:center;
  min-height:440px;
  padding:26px;
}
.ns-team-side{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}
.ns-player-card{
  position:relative;
  width:min(100%,170px);
  aspect-ratio:2/3;
  overflow:hidden;
  isolation:isolate;
  border:2px solid rgba(185,99,255,.9);
  border-radius:17px;
  background:linear-gradient(165deg,rgba(190,226,255,.98) 0 72%,rgba(5,4,10,.98) 72% 100%);
  box-shadow:0 12px 28px rgba(0,0,0,.46);
}
.ns-team-side.right .ns-player-card{
  border-color:rgba(255,136,35,.94);
  background:linear-gradient(165deg,rgba(222,239,255,.98) 0 72%,rgba(8,5,4,.98) 72% 100%);
}
.ns-player-card img.ns-player-photo{
  position:absolute;
  inset:0 0 24% 0;
  z-index:1;
  width:100%;
  height:76%;
  object-fit:cover;
  object-position:center 18%;
}
.ns-player-card.placeholder{background:#07050b url('../assets/battle-board/fallback-player-card.png') center/cover no-repeat}
.ns-player-card.placeholder img.ns-player-photo{display:none}
.ns-player-card::before{
  content:"";
  position:absolute;
  z-index:3;
  left:-14%;
  right:-14%;
  top:69%;
  height:7px;
  background:#8f25ff;
  transform:rotate(8deg);
  box-shadow:0 0 12px rgba(143,37,255,.72);
}
.ns-team-side.right .ns-player-card::before{
  background:#ff8619;
  box-shadow:0 0 12px rgba(255,134,25,.68);
  transform:rotate(-8deg);
}
.ns-player-label{
  position:absolute;
  z-index:4;
  left:0;
  right:0;
  bottom:0;
  height:31%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  padding:15px 6px 9px;
  text-align:center;
  background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.72) 24%,rgba(0,0,0,.98) 53%);
}
.ns-player-label strong{
  max-width:100%;
  overflow:hidden;
  color:#fff;
  font-family:Montserrat,Inter,sans-serif;
  font-size:.82rem;
  font-weight:900;
  line-height:1.05;
  text-overflow:ellipsis;
  text-shadow:0 2px 6px #000;
  text-transform:uppercase;
  white-space:nowrap;
}
.ns-player-label small{
  max-width:100%;
  margin-top:4px;
  overflow:hidden;
  color:#c9b6dd;
  font-size:.54rem;
  letter-spacing:.07em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.ns-team-side.right .ns-player-label small{color:#ffd0a3}
.ns-arena-center{
  position:relative;
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.ns-arena-map-frame{
  width:min(100%,350px);
  aspect-ratio:442/220;
  overflow:hidden;
  border-radius:24px;
  filter:drop-shadow(0 12px 22px rgba(0,0,0,.48));
  animation:nsArenaFloat 4.5s ease-in-out infinite;
}
.ns-arena-map-frame img{
  display:block;
  width:calc(100% + 10px);
  height:calc(100% + 10px);
  margin:-5px;
  object-fit:cover;
}
.ns-arena-kicker{margin-bottom:8px;color:#ead9f7;font-size:.64rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.ns-arena-score{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:9px;
  width:100%;
  margin-top:13px;
  font-family:Montserrat,Inter,sans-serif;
  font-size:clamp(.88rem,1.8vw,1.22rem);
  font-weight:900;
  text-shadow:0 4px 14px #000;
}
.ns-arena-score span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ns-arena-score span:first-child{text-align:right;color:#dca8ff}
.ns-arena-score span:last-child{text-align:left;color:#ffbf82}
.ns-arena-score b{padding:6px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(7,4,12,.76);font-size:.8em}
.ns-arena-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:10px}
.ns-arena-meta span{padding:5px 9px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(7,4,12,.76);font-size:.67rem}
.ns-battle-actions{position:relative;z-index:3;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:0 20px 18px}
@keyframes nsArenaFloat{50%{transform:translateY(-6px)}}
@media(max-width:900px){
  .ns-battle-grid{grid-template-columns:minmax(130px,160px) minmax(230px,1fr) minmax(130px,160px);gap:14px;padding:20px}
  .ns-player-card{width:min(100%,145px)}
  .ns-arena-map-frame{width:min(100%,300px)}
}
@media(max-width:720px){
  .ns-battle-board{width:100%;min-height:0;border-radius:18px}
  .ns-battle-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;padding:14px;gap:14px 10px}
  .ns-arena-center{grid-column:1/-1;grid-row:1}
  .ns-team-side.left{grid-column:1;grid-row:2}
  .ns-team-side.right{grid-column:2;grid-row:2}
  .ns-player-card{width:min(100%,132px)}
  .ns-arena-map-frame{width:min(92%,340px)}
  .ns-arena-score{font-size:.76rem}
  .ns-battle-actions{padding:0 12px 14px}
}


/* ========================================================================== */
/* V20.5 — BASE PRETA INTEGRAL NOS CARDS DA ARENA X1                        */
/* ========================================================================== */
.ns-player-card img.ns-player-photo{
  inset:0;
  height:70%;
}
.ns-player-card::before{
  top:67.5%;
  height:6px;
}
.ns-player-label{
  top:67.5%;
  bottom:0;
  height:auto;
  justify-content:flex-end;
  padding:25px 6px 9px;
  background:#020204;
  clip-path:polygon(0 0,100% 12%,100% 100%,0 100%);
}
.ns-team-side.right .ns-player-label{
  clip-path:polygon(0 12%,100% 0,100% 100%,0 100%);
}
@media(max-width:900px){
  .ns-player-label{padding:21px 5px 8px}
}
@media(max-width:720px){
  .ns-player-label{padding:19px 4px 7px}
}


/* ========================================================================== */
/* V20.6 — ACABAMENTO DOS CARDS E NOME ÚNICO                                 */
/* Remove qualquer fresta clara na diagonal e mostra apenas o nickname.      */
/* ========================================================================== */
.ns-player-card,
.ns-team-side.right .ns-player-card{
  background:#020204;
}
.ns-player-card.placeholder{
  background:#07050b url('../assets/battle-board/fallback-player-card.png') center/cover no-repeat;
}
.ns-player-card img.ns-player-photo{
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.ns-player-card::after{
  content:"";
  position:absolute;
  z-index:2;
  left:-14%;
  right:-14%;
  top:67.5%;
  height:82%;
  background:#020204;
  transform:rotate(8deg);
  transform-origin:center top;
  pointer-events:none;
}
.ns-team-side.right .ns-player-card::after{
  transform:rotate(-8deg);
}
.ns-player-card::before,
.ns-team-side.right .ns-player-card::before{
  transform-origin:center top;
}
.ns-player-label,
.ns-team-side.right .ns-player-label{
  top:67.5%;
  bottom:0;
  height:auto;
  z-index:4;
  clip-path:none;
  background:transparent;
  justify-content:flex-end;
  padding:20px 6px 11px;
}
.ns-player-label small{
  display:none!important;
}

/* ========================================================================== */
/* V20.7 — LINHA DIAGONAL FINA E FOTO SEM AMPLIAÇÃO EXCESSIVA                */
/* Mantém a base preta integral e somente o nickname no card.                */
/* ========================================================================== */
.ns-player-card img.ns-player-photo{
  inset:0 0 auto 0;
  width:100%;
  height:70.5%;
  object-fit:contain;
  object-position:center top;
  transform:none;
  background:#c7c9cc;
}
.ns-player-card::after,
.ns-team-side.right .ns-player-card::after{
  top:68.2%;
}
.ns-player-card::before,
.ns-team-side.right .ns-player-card::before{
  top:68.2%;
  height:3px;
  box-shadow:0 0 4px rgba(143,37,255,.38);
}
.ns-team-side.right .ns-player-card::before{
  box-shadow:0 0 4px rgba(255,134,25,.34);
}
.ns-player-label,
.ns-team-side.right .ns-player-label{
  top:68.2%;
  padding:18px 6px 10px;
}
@media(max-width:900px){
  .ns-player-card::before,
  .ns-team-side.right .ns-player-card::before{height:2px}
  .ns-player-label,
  .ns-team-side.right .ns-player-label{padding:16px 5px 8px}
}

/* ========================================================================== */
/* V20.9 — TIPOGRAFIA DOS CARDS + REMOÇÃO DA LINHA CLARA                     */
/* Mantém proporção, enquadramento, faixa diagonal e estrutura já aprovados.  */
/* ========================================================================== */
.ns-player-card img.ns-player-photo{
  display:block;
  background:#020204;
}
.ns-player-label strong{
  font-family:Roboto,Inter,"Segoe UI",Arial,sans-serif;
  font-size:.78rem;
  font-weight:500;
  line-height:1.15;
  letter-spacing:0;
  text-transform:none;
  text-shadow:0 1px 2px rgba(0,0,0,.72);
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
@media(max-width:900px){
  .ns-player-label strong{font-size:.73rem}
}
@media(max-width:720px){
  .ns-player-label strong{font-size:.7rem}
}

/* ========================================================================== */
/* V21.1.2 — CORREÇÃO DA DIAGONAL DOS CARDS DA ARENA X1                     */
/* Elimina a ponta preta acima da faixa colorida sem ampliar a fotografia.    */
/* ========================================================================== */

/*
  A fotografia continua exatamente com o enquadramento aprovado na V20.9:
  altura de 70,5%, object-fit contain e sem transformações.
  A mudança acontece somente nos pseudo-elementos da base e da linha.
*/
.ns-player-card img.ns-player-photo{
  height:70.5%;
  object-fit:contain;
  object-position:center top;
  transform:none;
}

/*
  A base preta deixa de ser um retângulo rotacionado.
  Agora ela possui uma borda diagonal real, definida por clip-path.
  A borda começa exatamente abaixo da linha colorida.
*/
.ns-player-card::after,
.ns-team-side.right .ns-player-card::after{
  inset:0;
  top:0;
  left:0;
  right:0;
  width:100%;
  height:100%;
  transform:none;
  transform-origin:center;
  background:#020204;
  pointer-events:none;
}

/* Card roxo: diagonal sobe no lado esquerdo e desce no lado direito. */
.ns-player-card::after{
  clip-path:polygon(
    0 64.6%,
    100% 71.6%,
    100% 100%,
    0 100%
  );
}

/* Card laranja: diagonal desce no lado esquerdo e sobe no lado direito. */
.ns-team-side.right .ns-player-card::after{
  clip-path:polygon(
    0 71.6%,
    100% 64.6%,
    100% 100%,
    0 100%
  );
}

/*
  A faixa colorida utiliza os mesmos pontos da base preta.
  Assim não existe área preta ultrapassando a linha.
*/
.ns-player-card::before,
.ns-team-side.right .ns-player-card::before{
  inset:0;
  top:0;
  left:0;
  right:0;
  width:100%;
  height:100%;
  transform:none;
  transform-origin:center;
  box-shadow:none;
  pointer-events:none;
}

.ns-player-card::before{
  background:#8f25ff;
  clip-path:polygon(
    0 63.4%,
    100% 70.4%,
    100% 71.6%,
    0 64.6%
  );
  filter:drop-shadow(0 0 2px rgba(143,37,255,.36));
}

.ns-team-side.right .ns-player-card::before{
  background:#ff8619;
  clip-path:polygon(
    0 70.4%,
    100% 63.4%,
    100% 64.6%,
    0 71.6%
  );
  filter:drop-shadow(0 0 2px rgba(255,134,25,.32));
}

/* O nome permanece na mesma área e com a mesma tipografia aprovada. */
.ns-player-label,
.ns-team-side.right .ns-player-label{
  top:68.2%;
}

/* Em telas menores a geometria permanece idêntica, sem engrossar a faixa. */
@media(max-width:900px){
  .ns-player-card::before,
  .ns-team-side.right .ns-player-card::before{
    height:100%;
  }
}
