/* =========================================================
   Elleven · App (draft v1)
   Mesma base da landing: Inter Tight, uma palavra em Playfair itálico,
   auras, vidro líquido e vermelho #E70138 como principal.
   ========================================================= */

:root{
  --vermelho:#E70138; --vinho:#BB051B; --pink:#FF58B5; --rosa:#FEC5E8;
  --azul:#0412EC; --azul-escuro:#061083; --off-white:#F5F3EA; --grafite:#181717;
  --bg:#0B0A10; --bg-2:#110F17;

  --fonte:'Inter Tight',system-ui,-apple-system,'Segoe UI',sans-serif;
  --fonte-destaque:'Playfair Display',Georgia,serif;

  --text:#F5F3EA; --text-2:#A9A4B6; --text-3:#77727F;
  --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.14);
  --surface:rgba(255,255,255,.04); --surface-2:rgba(255,255,255,.07); --surface-3:rgba(255,255,255,.11);
  --track:rgba(255,255,255,.08);

  --grad-rosa:linear-gradient(180deg,#FEC5E8 0%,#FF58B5 45%,#E70138 100%);
  --grad-progresso:linear-gradient(90deg,#FEC5E8,#FF58B5 40%,#E70138);
  --grad-marca:linear-gradient(120deg,#FEC5E8,#FF58B5 35%,#E70138 65%,#0412EC);

  --aura-app: radial-gradient(ellipse 70% 90% at 15% 110%, #E70138 0%, rgba(var(--ac-rgb),0) 60%), radial-gradient(ellipse 60% 80% at 90% -10%, #0412EC 0%, rgba(4,18,236,0) 65%), radial-gradient(ellipse 50% 60% at 60% 60%, rgba(var(--ac2-rgb),.35) 0%, rgba(var(--ac2-rgb),0) 70%);
  --aura-vermelha: radial-gradient(ellipse 90% 90% at 30% 100%, #E70138 0%, rgba(var(--ac-rgb),0) 70%), radial-gradient(ellipse 50% 60% at 80% 20%, rgba(var(--ac2-rgb),.55) 0%, rgba(var(--ac2-rgb),0) 70%), radial-gradient(ellipse 40% 50% at 100% 0%, rgba(4,18,236,.5) 0%, rgba(4,18,236,0) 70%);
  --aura-azul: radial-gradient(ellipse 90% 90% at 70% 0%, #0412EC 0%, rgba(4,18,236,0) 70%), radial-gradient(ellipse 50% 60% at 20% 90%, rgba(var(--ac2-rgb),.45) 0%, rgba(var(--ac2-rgb),0) 70%);
  --aura-arco: radial-gradient(ellipse 135% 105% at 50% 135%, #BB051B 0%, #E70138 28%, #FF58B5 50%, #0412EC 70%, rgba(4,18,236,0) 88%);

  --vidro-1: inset 0 1px 0 rgba(255,255,255,.35), inset 0 -1px 0 rgba(255,255,255,.06), 0 2px 6px rgba(0,0,0,.25);
  --vidro-2: inset 0 1px 0 rgba(255,255,255,.16), inset 0 -1px 0 rgba(255,255,255,.04), 0 18px 44px rgba(0,0,0,.35);
  --vidro-3: inset 0 1.5px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(255,255,255,.14), 0 24px 60px rgba(0,0,0,.5);

  --raio-sm:12px; --raio-md:20px; --raio-lg:28px; --raio-xl:36px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --spring:cubic-bezier(.34,1.56,.64,1);
  --top-h:76px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0; min-height:100vh; background:var(--bg); color:var(--text);
  font-family:var(--fonte); font-size:16px; line-height:1.5;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
body.has-cursor, body.has-cursor *{ cursor:none !important; }
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; }
input,textarea,select{ font:inherit; color:inherit; }
p{ margin:0; } h1,h2,h3,h4{ margin:0; font-weight:700; }
ul{ margin:0; padding:0; list-style:none; }
::selection{ background:var(--vermelho); color:#fff; }
:focus-visible{ outline:2px solid var(--pink); outline-offset:3px; border-radius:10px; }
.sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

/* ---------- Fundo: aura que muda por página + grão ---------- */
.aura{ position:fixed; inset:0; z-index:-3; background:var(--bg); }
.aura__layer{ position:absolute; inset:-10%; opacity:0; transition:opacity 1.2s var(--ease); filter:saturate(1.05); }
.aura__layer.is-on{ opacity:.55; }
.aura__layer[data-a="app"]{ background:var(--aura-app); }
.aura__layer[data-a="vermelha"]{ background:var(--aura-vermelha); }
.aura__layer[data-a="azul"]{ background:var(--aura-azul); }
.aura__layer[data-a="arco"]{ background:var(--aura-arco); }
.aura__blob{ position:absolute; width:46vmax; height:46vmax; border-radius:50%; filter:blur(90px); opacity:.18; mix-blend-mode:screen; animation:drift 26s ease-in-out infinite alternate; }
.aura__blob--1{ background:#FF58B5; left:-10vmax; top:20vh; }
.aura__blob--2{ background:#0412EC; right:-14vmax; top:-10vmax; animation-duration:32s; animation-delay:-8s; }
@keyframes drift{ 0%{ transform:translate(0,0) scale(1); } 100%{ transform:translate(8vmax,-6vmax) scale(1.15); } }
.grain{ position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.06; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
/* vinheta para o conteúdo respirar sobre a aura */
.vignette{ position:fixed; inset:0; z-index:-2; pointer-events:none; background:radial-gradient(ellipse 80% 70% at 50% 30%, rgba(11,10,16,.25), rgba(11,10,16,.75)); }

/* ---------- Tipografia ---------- */
.eyebrow{ font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--pink); }
.eyebrow--muted{ color:var(--text-3); }
.destaque{ color:inherit; }
.h1{ font-size:clamp(2.4rem,1.6rem + 2.6vw,4rem); line-height:1; letter-spacing:-.045em; text-wrap:balance; }
.h2{ font-size:clamp(1.6rem,1.3rem + 1vw,2.2rem); line-height:1.08; letter-spacing:-.04em; }
.h3{ font-size:1.3rem; line-height:1.2; letter-spacing:-.03em; font-weight:650; }
.h4{ font-size:1.05rem; line-height:1.3; letter-spacing:-.02em; font-weight:600; }
.lead{ color:var(--text-2); font-size:1.05rem; line-height:1.55; text-wrap:pretty; }
.small{ font-size:13.5px; color:var(--text-2); }
.tiny{ font-size:12px; color:var(--text-3); }
.num{ font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.grad-text{ background:var(--grad-rosa); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ---------- Superfícies ---------- */
.card{
  position:relative; border-radius:var(--raio-lg); padding:24px;
  background:linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.02) 60%, rgba(255,255,255,.04));
  border:1px solid var(--line-2); box-shadow:var(--vidro-2);
  -webkit-backdrop-filter:blur(26px) saturate(160%); backdrop-filter:blur(26px) saturate(160%);
  isolation:isolate;
}
.card--flat{ background:var(--surface); box-shadow:none; border-color:var(--line); }
.card--tight{ padding:18px; }
.card--glow::after{ content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; z-index:-1; background:linear-gradient(140deg, rgba(254,197,232,.7), rgba(var(--ac2-rgb),.2) 30%, transparent 55%, rgba(4,18,236,.45)); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
/* luz que segue o mouse */
.spot{ --mx:50%; --my:50%; }
.spot::before{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:0; opacity:0; transition:opacity .35s;
  background:radial-gradient(420px circle at var(--mx) var(--my), rgba(var(--ac2-rgb),.14), transparent 45%); }
.spot:hover::before{ opacity:1; }
.spot > *{ position:relative; z-index:1; }

/* ---------- Botões ---------- */
.btn{ --h:46px; position:relative; display:inline-flex; align-items:center; justify-content:center; gap:9px; height:var(--h); padding:0 22px; border-radius:999px; font-weight:600; font-size:15px; letter-spacing:-.01em; white-space:nowrap; transition:transform .35s var(--ease-out), background-color .25s, box-shadow .3s, opacity .2s; isolation:isolate; }
.btn:active{ transform:scale(.96); }
.btn--sm{ --h:36px; padding:0 15px; font-size:14px; }
.btn--lg{ --h:56px; padding:0 28px; font-size:16.5px; }
.btn--white{ background:#fff; color:var(--grafite); box-shadow:inset 0 -2px 0 rgba(0,0,0,.08), 0 10px 28px rgba(0,0,0,.3); }
.btn--white:hover{ transform:translateY(-2px); }
.btn--glass{ background:var(--surface-2); border:1px solid var(--line-2); box-shadow:var(--vidro-1); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
.btn--glass:hover{ background:var(--surface-3); transform:translateY(-2px); }
.btn--red{ background:rgba(var(--ac-rgb),.62); color:#fff; border:1px solid rgba(254,197,232,.35); box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 10px 30px rgba(var(--ac-rgb),.35); }
.btn--red:hover{ background:rgba(var(--ac-rgb),.78); transform:translateY(-2px); }
.btn--glow::before{ content:""; position:absolute; inset:30% 8% -40%; z-index:-1; border-radius:999px; background:linear-gradient(90deg,#FF58B5,#E70138,#0412EC); filter:blur(20px); opacity:.7; transition:opacity .3s; }
.btn--glow:hover::before{ opacity:1; }
.btn--ghost{ color:var(--text-2); }
.btn--ghost:hover{ color:var(--text); background:var(--surface); }
.icon-btn{ display:inline-grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--surface-2); border:1px solid var(--line); transition:transform .3s var(--ease-out), background-color .2s; flex:none; }
.icon-btn:hover{ background:var(--surface-3); transform:scale(1.06); }
.icon-btn--sm{ width:34px; height:34px; }

/* CTA com anel girando (mesmo da landing) */
@property --cta-a{ syntax:'<angle>'; inherits:false; initial-value:0deg; }
.cta{ position:relative; display:inline-flex; padding:2.5px; border-radius:999px; isolation:isolate; transition:transform .5s var(--ease-out); }
.cta__ring{ position:absolute; inset:0; z-index:-1; border-radius:inherit; background:conic-gradient(from var(--cta-a), #FEC5E8, #FF58B5, #E70138, #0412EC, #FF58B5, #FEC5E8); animation:ctaSpin 3.2s linear infinite; }
.cta__glow{ position:absolute; inset:-10px -14px; z-index:-2; border-radius:inherit; background:conic-gradient(from var(--cta-a), #FF58B5, #E70138, #0412EC, #FF58B5); filter:blur(24px); opacity:.6; animation:ctaSpin 3.2s linear infinite; }
.cta__inner{ display:inline-flex; align-items:center; gap:14px; padding:6px 6px 6px 24px; border-radius:inherit; background:#0E0C14; color:#fff; font-weight:600; font-size:16px; letter-spacing:-.01em; }
.cta__arrow{ width:46px; height:46px; display:grid; place-items:center; border-radius:50%; background:var(--vermelho); box-shadow:0 6px 18px rgba(var(--ac-rgb),.45); transition:transform .45s var(--ease-out); }
.cta:hover{ transform:translateY(-2px) scale(1.02); }
.cta:hover .cta__arrow{ transform:translateX(3px); }
@keyframes ctaSpin{ to{ --cta-a:360deg; } }

/* ---------- Chips e pílulas ---------- */
.chip{ display:inline-flex; align-items:center; gap:7px; height:34px; padding:0 14px; border-radius:999px; font-size:13.5px; font-weight:500; background:var(--surface-2); border:1px solid var(--line); color:var(--text-2); transition:all .25s var(--ease); white-space:nowrap; }
.chip:hover{ color:var(--text); border-color:var(--line-2); }
.chip.is-on{ color:#fff; background:rgba(var(--ac-rgb),.3); border-color:rgba(254,197,232,.45); box-shadow:0 0 18px rgba(var(--ac-rgb),.35), inset 0 1px 0 rgba(255,255,255,.3); }
.chip--sm{ height:26px; padding:0 10px; font-size:12px; }
.tag{ display:inline-flex; align-items:center; gap:5px; height:24px; padding:0 9px; border-radius:999px; font-size:12px; font-weight:600; background:var(--surface-2); border:1px solid var(--line); color:var(--text-2); }
.tag--pink{ background:rgba(var(--ac2-rgb),.14); border-color:rgba(var(--ac2-rgb),.3); color:var(--rosa); }
.tag--red{ background:rgba(var(--ac-rgb),.18); border-color:rgba(var(--ac-rgb),.4); color:#FF8FB0; }
.tag--blue{ background:rgba(4,18,236,.22); border-color:rgba(90,110,255,.4); color:#B9C2FF; }
.tag--ok{ background:rgba(120,230,170,.1); border-color:rgba(120,230,170,.28); color:#9BE8C0; }
.tag--elite{ background:linear-gradient(120deg, rgba(254,197,232,.25), rgba(4,18,236,.3)); border-color:rgba(254,197,232,.4); color:#fff; }
.dot{ width:8px; height:8px; border-radius:50%; background:var(--pink); flex:none; }

/* barra de progresso */
.bar{ height:8px; border-radius:999px; background:var(--track); overflow:hidden; }
.bar > span{ display:block; height:100%; width:0; border-radius:inherit; background:var(--grad-progresso); transition:width 1.4s var(--ease-out); box-shadow:0 0 14px rgba(var(--ac2-rgb),.5); }

/* avatar */
.av{ display:grid; place-items:center; width:40px; height:40px; border-radius:50%; font-weight:700; font-size:14px; letter-spacing:-.02em; flex:none; color:#fff; background:var(--grad-rosa); box-shadow:inset 0 1px 0 rgba(255,255,255,.4); }
.av--sm{ width:30px; height:30px; font-size:11.5px; }
.av--lg{ width:56px; height:56px; font-size:18px; }
.logo-sq{ display:grid; place-items:center; width:48px; height:48px; border-radius:16px; font-weight:800; font-size:15px; color:#fff; flex:none; letter-spacing:-.02em; box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 8px 20px rgba(0,0,0,.3); }

/* =========================================================
   Topo
   ========================================================= */
.top{ position:fixed; top:0; left:0; right:0; z-index:50; height:var(--top-h); display:flex; align-items:center; gap:16px; padding:0 28px; transition:background-color .3s, backdrop-filter .3s, border-color .3s; border-bottom:1px solid transparent; }
.top.is-scrolled{ background:rgba(11,10,16,.55); -webkit-backdrop-filter:blur(24px) saturate(160%); backdrop-filter:blur(24px) saturate(160%); border-color:var(--line); }
.top__logo img{ height:30px; width:auto; }
.top__search{ margin:0 auto; display:flex; align-items:center; gap:10px; width:min(440px,40vw); height:44px; padding:0 8px 0 16px; border-radius:999px; background:var(--surface-2); border:1px solid var(--line); color:var(--text-3); font-size:14.5px; transition:border-color .2s, background-color .2s; }
.top__search:hover{ border-color:var(--line-2); background:var(--surface-3); }
.top__search kbd{ margin-left:auto; font:600 12px var(--fonte); padding:4px 8px; border-radius:8px; background:var(--surface-2); border:1px solid var(--line-2); color:var(--text-2); }
.top__right{ display:flex; align-items:center; gap:10px; }
.stat-pill{ display:inline-flex; align-items:center; gap:7px; height:40px; padding:0 14px 0 10px; border-radius:999px; background:var(--surface-2); border:1px solid var(--line); font-weight:700; font-size:14.5px; letter-spacing:-.02em; transition:transform .3s var(--spring); }
.stat-pill:hover{ transform:translateY(-2px); }
.stat-pill .ic{ width:22px; height:22px; }
.stat-pill--rally .ic{ color:#FF8A3D; filter:drop-shadow(0 0 8px rgba(255,138,61,.6)); }
.stat-pill--pts .ic{ color:var(--rosa); }
.stat-pill.bump{ animation:bump .6s var(--spring); }
@keyframes bump{ 0%{ transform:scale(1); } 40%{ transform:scale(1.18); } 100%{ transform:scale(1); } }
.bell{ position:relative; }
.bell__badge{ position:absolute; top:6px; right:7px; width:9px; height:9px; border-radius:50%; background:var(--vermelho); box-shadow:0 0 0 2px var(--bg), 0 0 10px var(--vermelho); }

/* =========================================================
   Dock (navegação flutuante, com lupa estilo Mac)
   ========================================================= */
.dock-wrap{ position:fixed; left:0; right:0; bottom:18px; z-index:60; display:flex; justify-content:center; pointer-events:none; }
.dock{ pointer-events:auto; display:flex; align-items:flex-end; gap:6px; padding:9px 10px; border-radius:26px;
  background:linear-gradient(145deg, rgba(30,26,40,.62), rgba(14,12,20,.72)); border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--vidro-3); -webkit-backdrop-filter:blur(30px) saturate(180%); backdrop-filter:blur(30px) saturate(180%); }
.dock__sep{ width:1px; align-self:stretch; margin:6px 4px; background:var(--line-2); }
.dock__item{ --s:1; position:relative; width:46px; height:46px; display:grid; place-items:center; border-radius:15px; color:var(--text-2);
  transform-origin:50% 100%; transform:scale(var(--s)) translateY(calc((var(--s) - 1) * -10px)); transition:transform .18s var(--ease-out), color .2s, background-color .25s; margin:0 calc((var(--s) - 1) * 12px); }
.dock__item svg{ width:23px; height:23px; }
.dock__item:hover{ color:#fff; background:var(--surface-2); }
.dock__item.is-on{ color:#fff; background:linear-gradient(160deg, rgba(var(--ac2-rgb),.55), rgba(var(--ac-rgb),.75) 55%, rgba(4,18,236,.6)); box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 8px 22px rgba(var(--ac-rgb),.45); }
.dock__item.is-on::after{ content:""; position:absolute; bottom:-7px; width:4px; height:4px; border-radius:50%; background:var(--rosa); box-shadow:0 0 8px var(--pink); }
.dock__tip{ position:absolute; bottom:calc(100% + 12px); left:50%; transform:translate(-50%,6px) scale(calc(1 / var(--s))); padding:6px 11px; border-radius:10px; background:rgba(14,12,20,.92); border:1px solid var(--line-2); color:#fff; font-size:12.5px; font-weight:600; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .15s, transform .2s var(--ease-out); }
.dock__item:hover .dock__tip{ opacity:1; transform:translate(-50%,0) scale(calc(1 / var(--s))); }
.dock__count{ position:absolute; top:-3px; right:-3px; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:var(--vermelho); color:#fff; font-size:10.5px; font-weight:700; display:grid; place-items:center; box-shadow:0 0 0 2px #120F18; }

/* =========================================================
   Página
   ========================================================= */
.main{ position:relative; max-width:1280px; margin:0 auto; padding:calc(var(--top-h) + 18px) 28px 150px; }
.page{ animation:pageIn .7s var(--ease-out) both; }
.page.is-leaving{ animation:pageOut .22s var(--ease) both; }
@keyframes pageIn{ from{ opacity:0; transform:translateY(18px); filter:blur(8px); } to{ opacity:1; transform:none; filter:none; } }
@keyframes pageOut{ to{ opacity:0; transform:translateY(-8px); filter:blur(6px); } }
[data-r]{ animation:rise .8s var(--ease-out) both; animation-delay:calc(var(--i,0) * 70ms + 80ms); }
@keyframes rise{ from{ opacity:0; transform:translateY(22px); filter:blur(6px); } to{ opacity:1; transform:none; filter:none; } }

.phead{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:22px 0 30px; flex-wrap:wrap; }
.phead__txt{ display:grid; gap:12px; max-width:720px; }
.phead__actions{ display:flex; gap:10px; flex-wrap:wrap; }

.grid{ display:grid; gap:18px; }
.g-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.g-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.g-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.row{ display:flex; align-items:center; gap:12px; }
.row--between{ justify-content:space-between; }
.stack{ display:grid; gap:12px; }
.mt-8{ margin-top:8px; } .mt-16{ margin-top:16px; } .mt-24{ margin-top:24px; } .mt-32{ margin-top:32px; }
.ic{ width:20px; height:20px; flex:none; }
.ic-sm{ width:16px; height:16px; flex:none; }

/* =========================================================
   HOME
   ========================================================= */
.home{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:20px; align-items:start; }
.home__hello{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:18px 0 26px; grid-column:1 / -1; flex-wrap:wrap; }
.home__date{ color:var(--text-3); font-size:14.5px; margin-bottom:10px; }
.hello-wave{ display:inline-block; transform-origin:70% 70%; animation:wave 2.4s ease-in-out 1s 2; }
@keyframes wave{ 0%,60%,100%{ transform:rotate(0); } 10%,30%{ transform:rotate(14deg); } 20%,40%{ transform:rotate(-8deg); } }

/* Placar: a jornada em 5 sets */
.placar{ padding:28px; overflow:hidden; }
.placar__top{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.placar__live{ display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--rosa); }
.placar__live i{ width:8px; height:8px; border-radius:50%; background:var(--vermelho); box-shadow:0 0 0 0 rgba(var(--ac-rgb),.7); animation:live 1.8s infinite; }
@keyframes live{ 70%{ box-shadow:0 0 0 10px rgba(var(--ac-rgb),0); } 100%{ box-shadow:0 0 0 0 rgba(var(--ac-rgb),0); } }
.placar__score{ display:flex; align-items:baseline; gap:14px; margin:18px 0 6px; }
.placar__big{ font-size:clamp(4.2rem,3rem + 4vw,6.6rem); font-weight:800; line-height:.85; letter-spacing:-.06em; font-variant-numeric:tabular-nums; }
.placar__of{ font-size:1.6rem; font-weight:600; color:var(--text-3); letter-spacing:-.03em; }
.placar__setname{ font-size:1.05rem; color:var(--text-2); }
.sets{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-top:26px; }
.set{ position:relative; padding:14px 14px 12px; border-radius:18px; background:var(--surface); border:1px solid var(--line); transition:transform .35s var(--spring), border-color .2s, background-color .2s; text-align:left; }
.set:hover{ transform:translateY(-4px); border-color:var(--line-2); }
.set__n{ font-size:11px; font-weight:700; letter-spacing:.14em; color:var(--text-3); text-transform:uppercase; }
.set__pts{ font-size:1.7rem; font-weight:800; letter-spacing:-.05em; margin-top:4px; font-variant-numeric:tabular-nums; }
.set__pts small{ font-size:.85rem; font-weight:600; color:var(--text-3); letter-spacing:-.02em; }
.set__name{ font-size:12.5px; color:var(--text-2); margin-top:2px; line-height:1.3; min-height:2.6em; }
.set .bar{ height:5px; margin-top:10px; }
.set.is-won{ background:linear-gradient(160deg, rgba(254,197,232,.16), rgba(var(--ac-rgb),.12)); border-color:rgba(254,197,232,.3); }
.set.is-won .set__n{ color:var(--rosa); }
.set.is-now{ border-color:rgba(var(--ac2-rgb),.55); box-shadow:0 0 0 1px rgba(var(--ac2-rgb),.25), 0 14px 40px rgba(var(--ac-rgb),.25); background:linear-gradient(160deg, rgba(var(--ac2-rgb),.12), rgba(4,18,236,.08)); }
.set.is-now .set__n{ color:var(--pink); }
.set.is-locked{ opacity:.55; }
.set__badge{ position:absolute; top:10px; right:10px; width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:var(--grad-rosa); color:#fff; }
.set__badge svg{ width:13px; height:13px; }

.next{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px; padding:22px 22px 22px 22px; }
.next__icon{ width:64px; height:64px; border-radius:22px; display:grid; place-items:center; background:var(--grad-rosa); color:#fff; box-shadow:0 12px 30px rgba(var(--ac-rgb),.4), inset 0 1px 0 rgba(255,255,255,.45); }
.next__icon svg{ width:28px; height:28px; }
.next__meta{ display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }

.tasks{ display:grid; gap:2px; }
.task{ display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; padding:14px 12px; border-radius:16px; transition:background-color .2s; }
.task:hover{ background:var(--surface); }
.task__ic{ width:40px; height:40px; border-radius:13px; display:grid; place-items:center; background:var(--surface-2); border:1px solid var(--line); color:var(--rosa); }

/* sequência (rally) */
.rally{ display:grid; gap:16px; }
.rally__head{ display:flex; align-items:center; gap:14px; }
.rally__ball{ width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle at 35% 30%, #FFB27A, #FF6A2B 55%, #C2410C); color:#fff; box-shadow:0 10px 30px rgba(255,106,43,.45), inset 0 2px 0 rgba(255,255,255,.4); animation:ballBob 2.8s ease-in-out infinite; }
.rally__ball svg{ width:32px; height:32px; }
@keyframes ballBob{ 0%,100%{ transform:translateY(0) rotate(0); } 50%{ transform:translateY(-6px) rotate(25deg); } }
.week{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.week__d{ display:grid; justify-items:center; gap:6px; font-size:11.5px; color:var(--text-3); font-weight:600; }
.week__c{ width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background:var(--surface-2); border:1px solid var(--line); }
.week__c.is-done{ background:linear-gradient(160deg,#FFB27A,#FF6A2B); border-color:transparent; color:#fff; box-shadow:0 4px 12px rgba(255,106,43,.35); }
.week__c.is-today{ border:2px dashed rgba(255,138,61,.7); color:#FFB27A; }
.week__c svg{ width:15px; height:15px; }

/* match card com inclinação 3D */
.tilt{ transform-style:preserve-3d; transition:transform .5s var(--ease-out); will-change:transform; }
.match-mini__top{ display:flex; align-items:center; justify-content:space-between; }
.ring{ --p:0; --size:64px; --w:6px; position:relative; width:var(--size); height:var(--size); border-radius:50%; flex:none;
  background:conic-gradient(from -90deg, #FEC5E8, #FF58B5 calc(var(--p) * .5%), #E70138 calc(var(--p) * 1%), var(--track) 0); transition:--p 1.4s var(--ease-out); display:grid; place-items:center; }
.ring::before{ content:""; position:absolute; inset:var(--w); border-radius:50%; background:#13101A; }
.ring > span{ position:relative; font-weight:800; font-size:calc(var(--size) * .26); letter-spacing:-.04em; }
@property --p{ syntax:'<number>'; inherits:false; initial-value:0; }

.dates{ display:grid; gap:10px; }
.date{ display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:center; }
.date__box{ width:52px; height:56px; border-radius:15px; display:grid; place-items:center; align-content:center; background:var(--surface-2); border:1px solid var(--line-2); line-height:1; }
.date__box b{ font-size:1.3rem; letter-spacing:-.04em; }
.date__box small{ font-size:10.5px; font-weight:700; letter-spacing:.1em; color:var(--text-3); text-transform:uppercase; margin-top:4px; }
.date.is-soon .date__box{ border-color:rgba(var(--ac2-rgb),.5); background:rgba(var(--ac2-rgb),.1); }
.date.is-soon .date__box small{ color:var(--rosa); }

.mstats{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.mstats b{ display:block; font-size:2rem; letter-spacing:-.05em; line-height:1; font-variant-numeric:tabular-nums; }
.mstats span{ font-size:12.5px; color:var(--text-3); }

.live-card{ overflow:hidden; background:linear-gradient(150deg, rgba(4,18,236,.35), rgba(var(--ac-rgb),.28) 70%, rgba(var(--ac2-rgb),.3)); border-color:rgba(254,197,232,.25); }
.live-card .faces{ display:flex; }
.live-card .faces .av{ margin-left:-10px; box-shadow:0 0 0 2px #2a1430; }
.live-card .faces .av:first-child{ margin-left:0; }

/* =========================================================
   FEED
   ========================================================= */
.toolbar{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:22px; }
.toolbar__spacer{ flex:1; }
.seg{ display:inline-flex; padding:4px; border-radius:999px; background:var(--surface-2); border:1px solid var(--line); position:relative; }
.seg button{ position:relative; z-index:1; height:34px; padding:0 14px; border-radius:999px; font-size:13.5px; font-weight:600; color:var(--text-2); display:inline-flex; align-items:center; gap:7px; transition:color .2s; }
.seg button.is-on{ color:var(--grafite); }
.seg__pill{ position:absolute; z-index:0; top:4px; bottom:4px; border-radius:999px; background:#fff; transition:left .4s var(--spring), width .4s var(--spring); box-shadow:0 4px 14px rgba(0,0,0,.3); }

.feed{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.school{ display:grid; gap:16px; padding:20px; cursor:pointer; transition:transform .45s var(--ease-out), border-color .25s; }
.school:hover{ transform:translateY(-5px); border-color:rgba(255,255,255,.22); }
.school__top{ display:flex; gap:14px; align-items:center; }
.school__name{ font-weight:650; font-size:1.08rem; letter-spacing:-.025em; line-height:1.2; }
.school__facts{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.fact{ padding:10px 12px; border-radius:14px; background:var(--surface); border:1px solid var(--line); }
.fact span{ display:block; font-size:11.5px; color:var(--text-3); }
.fact b{ font-size:14.5px; letter-spacing:-.02em; font-weight:650; }
.roster{ display:flex; align-items:flex-end; gap:12px; }
.roster__col{ flex:1; display:grid; justify-items:center; gap:6px; }
.roster__dots{ display:flex; gap:4px; min-height:12px; }
.roster__dots i{ width:11px; height:11px; border-radius:50%; background:var(--text-3); }
.roster__dots i.out{ background:var(--pink); box-shadow:0 0 10px var(--pink); }
.roster__dots i.empty{ background:transparent; border:1.5px dashed var(--text-3); }
.roster__col span{ font-size:11px; color:var(--text-3); }
.roster__col.is-key span{ color:var(--rosa); font-weight:600; }
.school__foot{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.save-btn.is-saved{ color:#fff; background:var(--vermelho); border-color:transparent; box-shadow:0 0 18px rgba(var(--ac-rgb),.6); }
.save-btn.is-saved svg{ fill:currentColor; }

/* Modo descoberta: baralho para arrastar */
.deck-area{ display:grid; grid-template-columns:1fr 300px; gap:24px; align-items:start; }
.deck{ position:relative; height:560px; display:grid; place-items:center; }
.deck__card{ position:absolute; width:min(440px,100%); height:520px; padding:0; overflow:hidden; background:linear-gradient(170deg,#1d1726,#110e17); -webkit-backdrop-filter:none; backdrop-filter:none; display:flex; flex-direction:column; touch-action:none; user-select:none; transition:transform .5s var(--ease-out), opacity .4s; }
.deck__card.is-drag{ transition:none; }
.deck__hero{ position:relative; height:200px; padding:20px; display:flex; flex-direction:column; justify-content:space-between; }
.deck__hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(15,12,20,.9)); }
.deck__hero > *{ position:relative; z-index:1; }
.deck__body{ padding:18px 22px 22px; display:grid; gap:16px; flex:1; align-content:start; }
.deck__stamp{ position:absolute; top:28px; z-index:5; padding:6px 14px; border-radius:12px; border:3px solid; font-weight:800; font-size:20px; letter-spacing:.06em; text-transform:uppercase; opacity:0; transform:rotate(-12deg); }
.deck__stamp--yes{ left:24px; color:#FEC5E8; border-color:#FF58B5; background:rgba(var(--ac-rgb),.3); }
.deck__stamp--no{ right:24px; color:var(--text-2); border-color:var(--text-3); transform:rotate(12deg); background:rgba(0,0,0,.3); }
.deck__actions{ display:flex; justify-content:center; gap:16px; margin-top:6px; }
.round{ width:62px; height:62px; border-radius:50%; display:grid; place-items:center; background:var(--surface-2); border:1px solid var(--line-2); box-shadow:var(--vidro-2); transition:transform .35s var(--spring), background-color .2s; }
.round:hover{ transform:scale(1.12); }
.round svg{ width:26px; height:26px; }
.round--yes{ background:linear-gradient(160deg,#FF58B5,#E70138); border-color:transparent; color:#fff; box-shadow:0 12px 30px rgba(var(--ac-rgb),.45); }
.round--mail{ color:var(--rosa); }
.round--sm{ width:50px; height:50px; }
.round--sm svg{ width:20px; height:20px; }
.saved-list{ display:grid; gap:8px; }
.saved-item{ display:flex; align-items:center; gap:10px; padding:8px; border-radius:14px; background:var(--surface); border:1px solid var(--line); animation:rise .5s var(--ease-out) both; }

/* Ficha (gaveta lateral) */
.drawer{ position:fixed; inset:0; z-index:90; display:flex; justify-content:flex-end; pointer-events:none; }
.drawer__shade{ position:absolute; inset:0; background:rgba(5,4,10,.55); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); opacity:0; transition:opacity .4s; }
.drawer__panel{ position:relative; width:min(640px,100%); height:100%; overflow:auto; padding:28px; background:linear-gradient(170deg, rgba(26,20,36,.92), rgba(12,10,18,.96)); border-left:1px solid var(--line-2); transform:translateX(100%); transition:transform .6s var(--ease-out); }
.drawer.is-open{ pointer-events:auto; }
.drawer.is-open .drawer__shade{ opacity:1; }
.drawer.is-open .drawer__panel{ transform:none; }
.drawer__hero{ position:relative; margin:-28px -28px 0; padding:28px; padding-top:70px; overflow:hidden; }
.drawer__hero::before{ content:""; position:absolute; inset:0; background:var(--aura-azul); opacity:.7; }
.drawer__hero > *{ position:relative; }
.why{ display:grid; gap:10px; }
.why__row{ display:grid; grid-template-columns:120px 1fr 44px; gap:12px; align-items:center; font-size:14px; }
.why__row .bar{ height:7px; }

/* =========================================================
   MATCHING (radar)
   ========================================================= */
.match-wrap{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:20px; align-items:start; }
.radar{ position:relative; aspect-ratio:1; width:100%; max-width:640px; margin:0 auto; }
.radar__ring{ position:absolute; border-radius:50%; border:1px solid var(--line-2); left:50%; top:50%; transform:translate(-50%,-50%); }
.radar__ring span{ position:absolute; top:-9px; left:50%; transform:translateX(-50%); font-size:10.5px; font-weight:700; letter-spacing:.1em; color:var(--text-3); background:#0f0d15; padding:0 8px; border-radius:6px; }
.radar__sweep{ position:absolute; inset:0; border-radius:50%; background:conic-gradient(from 0deg, rgba(var(--ac2-rgb),.22), transparent 18%); animation:sweep 6s linear infinite; -webkit-mask:radial-gradient(circle, #000 69%, transparent 70%); mask:radial-gradient(circle, #000 69%, transparent 70%); }
@keyframes sweep{ to{ transform:rotate(360deg); } }
.radar__me{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:3; }
.radar__me .av{ width:76px; height:76px; font-size:22px; box-shadow:0 0 0 6px rgba(var(--ac2-rgb),.15), 0 0 40px rgba(var(--ac-rgb),.6); }
.radar__dot{ position:absolute; z-index:2; transform:translate(-50%,-50%); display:grid; justify-items:center; gap:6px; transition:transform .4s var(--spring), opacity .3s; }
.radar__dot .logo-sq{ width:44px; height:44px; border-radius:14px; font-size:13px; }
.radar__dot span{ font-size:11.5px; font-weight:600; white-space:nowrap; padding:2px 8px; border-radius:999px; background:rgba(14,12,20,.8); border:1px solid var(--line); }
.radar__dot:hover, .radar__dot.is-hl{ transform:translate(-50%,-50%) scale(1.18); z-index:4; }
.radar__dot.is-dim{ opacity:.25; }
.boost{ display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:12px; border-radius:16px; background:var(--surface); border:1px solid var(--line); transition:border-color .2s, transform .3s var(--ease-out); }
.boost:hover{ border-color:rgba(var(--ac2-rgb),.4); transform:translateX(3px); }
.boost__plus{ font-weight:800; color:#9BE8C0; font-size:15px; }
.rank{ display:grid; gap:4px; }
.rank__row{ display:grid; grid-template-columns:22px auto 1fr auto; gap:12px; align-items:center; padding:9px 8px; border-radius:14px; transition:background-color .2s; }
.rank__row:hover{ background:var(--surface); }
.rank__row .logo-sq{ width:36px; height:36px; border-radius:11px; font-size:11.5px; }

/* =========================================================
   AULAS (trilha)
   ========================================================= */
.aulas{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; align-items:start; }
.trail{ position:relative; padding:10px 0 40px; }
.trail__set{ margin:34px auto 26px; max-width:520px; padding:18px 22px; border-radius:22px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.trail__set.is-done{ background:linear-gradient(140deg, rgba(254,197,232,.18), rgba(var(--ac-rgb),.2)); border:1px solid rgba(254,197,232,.3); }
.trail__set.is-now{ background:linear-gradient(140deg, rgba(var(--ac2-rgb),.3), rgba(4,18,236,.35)); border:1px solid rgba(254,197,232,.35); box-shadow:0 18px 50px rgba(var(--ac-rgb),.2); }
.trail__set.is-locked{ background:var(--surface); border:1px solid var(--line); opacity:.7; }
.trail__nodes{ position:relative; display:grid; gap:30px; justify-items:center; }
.node-wrap{ position:relative; z-index:1; transform:translateX(var(--x,0)); }
.node-wrap:has(.node-pop){ z-index:30; }
.node{ --c1:var(--node-1); --c2:var(--node-2); position:relative; width:78px; height:72px; border-radius:50%; display:grid; place-items:center; color:#fff;
  background:linear-gradient(180deg, var(--c1), var(--c2)); box-shadow:0 8px 0 var(--node-3), 0 16px 30px rgba(var(--ac-rgb),.35), inset 0 2px 0 rgba(255,255,255,.5); transition:transform .15s, box-shadow .15s; }
.node svg{ width:30px; height:30px; }
.node:hover{ transform:translateY(-2px); }
.node:active{ transform:translateY(6px); box-shadow:0 2px 0 var(--node-3), 0 6px 14px rgba(var(--ac-rgb),.35), inset 0 2px 0 rgba(255,255,255,.5); }
.node.is-locked{ --c1:#3a3545; --c2:#24202c; color:var(--text-3); box-shadow:0 8px 0 #16131b, inset 0 2px 0 rgba(255,255,255,.12); }
.node.is-chest{ --c1:#FFD48A; --c2:#FF8A3D; box-shadow:0 8px 0 #A84A0C, 0 16px 30px rgba(255,138,61,.35), inset 0 2px 0 rgba(255,255,255,.5); }
.node.is-chest.is-locked{ --c1:#3a3545; --c2:#24202c; box-shadow:0 8px 0 #16131b; }
.node.is-now{ animation:nodePulse 2s ease-in-out infinite; }
.node-wrap.is-now::before{ content:""; position:absolute; inset:-12px; border-radius:50%; border:3px solid rgba(var(--ac2-rgb),.45); animation:halo 2s ease-out infinite; }
@keyframes halo{ from{ transform:scale(.9); opacity:1; } to{ transform:scale(1.35); opacity:0; } }
@keyframes nodePulse{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-4px); } }
.node-bubble{ position:absolute; bottom:calc(100% + 18px); left:50%; transform:translateX(-50%); padding:8px 14px; border-radius:12px; background:#fff; color:var(--grafite); font-weight:800; font-size:13px; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; box-shadow:0 10px 24px rgba(0,0,0,.35); animation:bubbleBob 1.6s ease-in-out infinite; }
.node-bubble::after{ content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:8px solid transparent; border-top-color:#fff; }
@keyframes bubbleBob{ 0%,100%{ transform:translate(-50%,0); } 50%{ transform:translate(-50%,-5px); } }
.node-pop{ position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%); z-index:20; width:290px; padding:18px; border-radius:20px; background:linear-gradient(160deg,#2a1a33,#1a1222); border:1px solid rgba(254,197,232,.3); box-shadow:var(--vidro-3); animation:popIn .4s var(--spring) both; text-align:left; }
.node-pop::before{ content:""; position:absolute; bottom:100%; left:50%; transform:translateX(-50%); border:9px solid transparent; border-bottom-color:#2a1a33; }
@keyframes popIn{ from{ opacity:0; transform:translate(-50%,-8px) scale(.9); } to{ opacity:1; transform:translate(-50%,0) scale(1); } }
.tabs-line{ display:flex; gap:6px; border-bottom:1px solid var(--line); margin-bottom:24px; overflow:auto; }
.tabs-line button{ position:relative; padding:12px 14px; font-weight:600; font-size:14.5px; color:var(--text-3); white-space:nowrap; display:inline-flex; gap:8px; align-items:center; }
.tabs-line button.is-on{ color:var(--text); }
.tabs-line button.is-on::after{ content:""; position:absolute; left:10px; right:10px; bottom:-1px; height:2px; border-radius:2px; background:var(--grad-progresso); box-shadow:0 0 10px var(--pink); }

.video-card{ position:relative; overflow:hidden; border-radius:22px; aspect-ratio:16/10; background:var(--aura-arco), #0d0b12; display:grid; place-items:center; }
.video-card__play{ width:66px; height:66px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.95); color:var(--vermelho); box-shadow:0 0 0 10px rgba(255,255,255,.14), 0 18px 40px rgba(var(--ac-rgb),.5); transition:transform .4s var(--spring); }
.video-card:hover .video-card__play{ transform:scale(1.1); }
.video-card__meta{ position:absolute; left:16px; right:16px; bottom:14px; display:flex; justify-content:space-between; font-size:13px; font-weight:600; }

/* =========================================================
   MINHAS ESCOLAS (quadro)
   ========================================================= */
.board{ display:grid; grid-template-columns:repeat(5,minmax(240px,1fr)); gap:14px; overflow-x:auto; padding-bottom:12px; }
.col{ display:flex; flex-direction:column; gap:10px; min-height:460px; padding:14px; border-radius:24px; background:var(--surface); border:1px solid var(--line); transition:background-color .25s, border-color .25s; }
.col.is-over{ background:rgba(var(--ac2-rgb),.08); border-color:rgba(var(--ac2-rgb),.45); border-style:dashed; }
.col__head{ display:flex; align-items:center; justify-content:space-between; padding:4px 4px 6px; }
.col__title{ display:flex; align-items:center; gap:8px; font-weight:650; font-size:14.5px; letter-spacing:-.02em; }
.col__count{ font-size:12px; font-weight:700; color:var(--text-3); background:var(--surface-2); padding:2px 8px; border-radius:999px; }
.kcard{ padding:14px; border-radius:18px; background:linear-gradient(150deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); border:1px solid var(--line-2); box-shadow:var(--vidro-2); display:grid; gap:10px; cursor:grab; transition:transform .3s var(--ease-out), box-shadow .3s, opacity .2s; }
.kcard:hover{ transform:translateY(-3px) rotate(-.4deg); }
.kcard.is-dragging{ opacity:.4; transform:rotate(3deg) scale(.98); }
.kcard__top{ display:flex; gap:10px; align-items:center; }
.kcard .logo-sq{ width:36px; height:36px; border-radius:11px; font-size:11.5px; }
.kcard__next{ font-size:12.5px; color:var(--text-2); display:flex; gap:6px; align-items:center; padding-top:8px; border-top:1px solid var(--line); }
.col--oferta{ background:linear-gradient(170deg, rgba(254,197,232,.08), rgba(var(--ac-rgb),.08)); border-color:rgba(254,197,232,.2); }
.col__empty{ flex:1; display:grid; place-items:center; text-align:center; padding:20px; border:1.5px dashed var(--line-2); border-radius:18px; color:var(--text-3); font-size:13.5px; }

/* =========================================================
   E-MAILS
   ========================================================= */
.mail{ display:grid; grid-template-columns:360px minmax(0,1fr); gap:16px; min-height:620px; }
.threads{ padding:10px; display:flex; flex-direction:column; gap:4px; }
.thread{ display:grid; grid-template-columns:auto 1fr; gap:12px; padding:12px; border-radius:16px; text-align:left; transition:background-color .2s; position:relative; }
.thread:hover{ background:var(--surface); }
.thread.is-on{ background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--line-2); }
.thread.is-unread .thread__who::after{ content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--pink); margin-left:7px; vertical-align:middle; box-shadow:0 0 8px var(--pink); }
.thread__who{ font-weight:650; font-size:14.5px; letter-spacing:-.02em; }
.thread__prev{ font-size:13px; color:var(--text-3); display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.track{ display:flex; align-items:center; gap:4px; margin-top:6px; }
.track i{ height:4px; flex:1; border-radius:2px; background:var(--track); }
.track i.on{ background:var(--grad-progresso); }
.track b{ font-size:11px; font-weight:600; color:var(--text-3); margin-left:6px; white-space:nowrap; }
.reader{ padding:0; display:flex; flex-direction:column; overflow:hidden; }
.reader__head{ padding:22px 24px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.reader__body{ padding:24px; display:grid; gap:16px; flex:1; overflow:auto; align-content:start; }
.msg{ max-width:78%; padding:16px 18px; border-radius:20px; background:var(--surface-2); border:1px solid var(--line); font-size:14.5px; line-height:1.6; }
.msg--me{ justify-self:end; background:linear-gradient(150deg, rgba(var(--ac-rgb),.32), rgba(var(--ac2-rgb),.2)); border-color:rgba(254,197,232,.25); border-bottom-right-radius:6px; }
.msg--them{ border-bottom-left-radius:6px; }
.msg__meta{ font-size:12px; color:var(--text-3); margin-top:8px; display:flex; gap:8px; align-items:center; }
.composer{ margin:0 16px 16px; padding:14px; border-radius:22px; background:rgba(14,12,20,.6); border:1px solid var(--line-2); display:grid; gap:10px; }
.composer textarea{ width:100%; min-height:86px; resize:none; background:none; border:0; outline:none; font-size:14.5px; line-height:1.6; color:var(--text); }
.composer textarea::placeholder{ color:var(--text-3); }
.ai-btn{ position:relative; overflow:hidden; }
.ai-btn::after{ content:""; position:absolute; inset:0; background:linear-gradient(110deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%); transform:translateX(-100%); animation:shine 3s ease-in-out infinite; }
@keyframes shine{ 60%,100%{ transform:translateX(100%); } }
.typing-caret::after{ content:"▍"; color:var(--pink); animation:blink 1s steps(2) infinite; }
@keyframes blink{ 50%{ opacity:0; } }

/* =========================================================
   CHECKLIST
   ========================================================= */
.check-wrap{ display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:20px; align-items:start; }
.cgroup{ margin-bottom:16px; }
.cgroup__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 4px 12px; }
.citem{ display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; padding:14px 16px; border-radius:18px; background:var(--surface); border:1px solid var(--line); margin-bottom:8px; transition:background-color .3s, border-color .3s, transform .3s var(--ease-out); }
.citem:hover{ border-color:var(--line-2); transform:translateX(2px); }
.box{ position:relative; width:30px; height:30px; border-radius:10px; border:2px solid var(--line-2); display:grid; place-items:center; transition:all .35s var(--spring); flex:none; }
.box svg{ width:17px; height:17px; color:#fff; stroke-dasharray:24; stroke-dashoffset:24; transition:stroke-dashoffset .4s .1s var(--ease-out); }
.citem.is-done .box{ background:var(--grad-rosa); border-color:transparent; transform:scale(1.08); box-shadow:0 6px 16px rgba(var(--ac-rgb),.45); }
.citem.is-done .box svg{ stroke-dashoffset:0; }
.citem.is-done .citem__t{ color:var(--text-3); text-decoration:line-through; text-decoration-color:rgba(var(--ac2-rgb),.6); }
.citem__t{ font-weight:600; letter-spacing:-.015em; transition:color .3s; }
.citem.is-pop{ animation:citemPop .5s var(--spring); }
@keyframes citemPop{ 40%{ transform:scale(1.02); background:rgba(var(--ac2-rgb),.12); } }
.big-ring{ --size:180px; --w:14px; margin:6px auto 0; }
.big-ring::before{ background:#14111b; }
.big-ring > span{ font-size:2.6rem; }
.ach{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.ach__b{ aspect-ratio:1; border-radius:18px; display:grid; place-items:center; background:var(--surface); border:1px solid var(--line); color:var(--text-3); position:relative; transition:transform .35s var(--spring); }
.ach__b:hover{ transform:scale(1.08) rotate(-4deg); }
.ach__b.is-on{ background:linear-gradient(160deg, rgba(255,212,138,.25), rgba(255,138,61,.2)); border-color:rgba(255,190,120,.4); color:#FFD48A; }
.ach__b svg{ width:26px; height:26px; }

/* =========================================================
   CALENDÁRIO
   ========================================================= */
.season{ padding:24px 24px 34px; overflow:hidden; }
.season__track{ position:relative; margin-top:22px; }
.season__months{ display:grid; grid-template-columns:repeat(12,1fr); font-size:11.5px; font-weight:700; letter-spacing:.08em; color:var(--text-3); text-transform:uppercase; border-bottom:1px solid var(--line); padding-bottom:10px; }
.season__lanes{ position:relative; display:grid; gap:9px; padding:14px 0 6px; }
.lane{ position:relative; height:30px; }
.lane__bar{ position:absolute; top:0; height:100%; border-radius:10px; display:flex; align-items:center; padding:0 10px; font-size:12px; font-weight:600; white-space:nowrap; overflow:hidden; transition:transform .3s var(--ease-out), filter .2s; }
.lane__bar:hover{ transform:scaleY(1.12); filter:brightness(1.2); }
.season__now{ position:absolute; top:-6px; bottom:0; width:2px; background:#fff; box-shadow:0 0 12px #fff; z-index:3; }
.season__now::before{ content:"Hoje"; position:absolute; bottom:-26px; left:50%; transform:translateX(-50%); font-size:11px; font-weight:700; padding:2px 8px; border-radius:999px; background:#fff; color:var(--grafite); }
.cal{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:18px; align-items:start; }
.month{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.month__dow{ font-size:11px; font-weight:700; letter-spacing:.1em; color:var(--text-3); text-align:center; padding-bottom:6px; }
.day{ position:relative; min-height:86px; padding:8px; border-radius:14px; background:var(--surface); border:1px solid var(--line); font-size:13px; font-weight:600; display:flex; flex-direction:column; gap:4px; text-align:left; transition:background-color .2s, border-color .2s, transform .25s var(--ease-out); }
.day:hover{ border-color:var(--line-2); transform:translateY(-2px); }
.day.is-out{ opacity:.3; }
.day.is-today{ border-color:var(--pink); box-shadow:0 0 0 1px var(--pink), 0 0 24px rgba(var(--ac2-rgb),.25); }
.day.is-today > b{ display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--vermelho); }
.day.is-sel{ background:var(--surface-3); }
.ev{ display:block; font-size:11px; font-weight:600; padding:3px 6px; border-radius:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ev--div{ background:rgba(4,18,236,.35); color:#C9CFFF; }
.ev--me{ background:rgba(var(--ac-rgb),.3); color:#FFC2D1; }
.ev--com{ background:rgba(var(--ac2-rgb),.22); color:var(--rosa); }
.now-card{ background:linear-gradient(150deg, rgba(var(--ac-rgb),.35), rgba(4,18,236,.3)); border-color:rgba(254,197,232,.3); }

/* =========================================================
   ASSISTENTE IA
   ========================================================= */
.ai{ max-width:860px; margin:0 auto; display:grid; gap:26px; }
.orb{ position:relative; width:120px; height:120px; margin:10px auto 0; }
.orb__core{ position:absolute; inset:0; border-radius:50%; background:conic-gradient(from var(--cta-a), #FEC5E8, #FF58B5, #E70138, #0412EC, #FF58B5, #FEC5E8); filter:blur(2px); animation:ctaSpin 6s linear infinite, orbMorph 8s ease-in-out infinite; box-shadow:0 0 60px rgba(var(--ac2-rgb),.6), 0 0 120px rgba(4,18,236,.4); }
.orb__glass{ position:absolute; inset:8px; border-radius:50%; background:radial-gradient(circle at 32% 28%, rgba(255,255,255,.75), rgba(255,255,255,.08) 35%, rgba(11,10,16,.2) 70%); mix-blend-mode:screen; }
.orb.is-thinking .orb__core{ animation-duration:1.4s, 2s; }
@keyframes orbMorph{ 0%,100%{ border-radius:50%; } 33%{ border-radius:46% 54% 52% 48% / 55% 45% 55% 45%; } 66%{ border-radius:54% 46% 45% 55% / 48% 56% 44% 52%; } }
.tools{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.tool{ padding:18px; display:grid; gap:12px; text-align:left; transition:transform .4s var(--ease-out), border-color .25s; }
.tool:hover{ transform:translateY(-4px); border-color:rgba(var(--ac2-rgb),.45); }
.tool__ic{ width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background:var(--grad-rosa); color:#fff; box-shadow:0 8px 20px rgba(var(--ac-rgb),.35); }
.chat{ display:grid; gap:14px; }
.bubble{ max-width:82%; padding:14px 18px; border-radius:22px; font-size:15px; line-height:1.6; animation:rise .5s var(--ease-out) both; }
.bubble--me{ justify-self:end; background:#fff; color:var(--grafite); border-bottom-right-radius:6px; }
.bubble--ai{ background:var(--surface-2); border:1px solid var(--line-2); border-bottom-left-radius:6px; }
.prompt{ position:sticky; bottom:96px; display:flex; align-items:center; gap:10px; padding:8px 8px 8px 20px; border-radius:999px; background:rgba(20,16,28,.85); border:1px solid var(--line-2); box-shadow:var(--vidro-3); -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px); }
.prompt input{ flex:1; background:none; border:0; outline:none; font-size:15.5px; height:44px; }
.prompt input::placeholder{ color:var(--text-3); }
.suggest{ display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }

/* =========================================================
   COMUNIDADE
   ========================================================= */
.com{ display:grid; grid-template-columns:220px minmax(0,1fr) 320px; gap:18px; align-items:start; }
.channels{ position:sticky; top:calc(var(--top-h) + 12px); display:grid; gap:2px; }
.channel{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:14px; font-weight:550; font-size:14.5px; color:var(--text-2); transition:background-color .2s, color .2s; text-align:left; }
.channel:hover{ background:var(--surface); color:var(--text); }
.channel.is-on{ background:var(--surface-2); color:#fff; }
.channel .hash{ color:var(--pink); font-weight:700; }
.channel__n{ margin-left:auto; font-size:11px; font-weight:700; background:var(--vermelho); color:#fff; padding:1px 7px; border-radius:999px; }
.post{ display:grid; gap:14px; }
.post__head{ display:flex; gap:12px; align-items:center; }
.post__pin{ background:linear-gradient(150deg, rgba(var(--ac-rgb),.22), rgba(4,18,236,.18)); border-color:rgba(254,197,232,.25); }
.reacts{ display:flex; gap:8px; flex-wrap:wrap; }
.react{ display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 12px; border-radius:999px; background:var(--surface-2); border:1px solid var(--line); font-size:13px; font-weight:600; transition:transform .3s var(--spring), background-color .2s, border-color .2s; }
.react:hover{ transform:translateY(-2px); }
.react.is-on{ background:rgba(var(--ac2-rgb),.18); border-color:rgba(var(--ac2-rgb),.5); color:#fff; }
.react.pop{ animation:bump .5s var(--spring); }
.react .emo{ font-size:15px; }
.event{ display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:center; padding:12px; border-radius:16px; background:var(--surface); border:1px solid var(--line); }

/* =========================================================
   BÔNUS
   ========================================================= */
.bonus-hero{ display:grid; grid-template-columns:1fr auto; gap:24px; align-items:center; padding:28px; overflow:hidden; background:linear-gradient(140deg, rgba(255,212,138,.14), rgba(var(--ac-rgb),.2) 50%, rgba(4,18,236,.25)); border-color:rgba(255,212,138,.25); }
.chest{ position:relative; width:150px; height:130px; transition:transform .4s var(--spring); }
.chest:hover{ transform:rotate(-4deg) scale(1.05); }
.chest.is-shake{ animation:shake .6s; }
@keyframes shake{ 20%{ transform:rotate(-8deg); } 40%{ transform:rotate(8deg); } 60%{ transform:rotate(-5deg); } 80%{ transform:rotate(4deg); } }
.chest__lid, .chest__base{ position:absolute; left:10px; right:10px; border-radius:16px; background:linear-gradient(180deg,#FFD48A,#FF8A3D); box-shadow:inset 0 2px 0 rgba(255,255,255,.6), 0 10px 24px rgba(255,138,61,.4); }
.chest__base{ bottom:0; height:72px; border-top-left-radius:6px; border-top-right-radius:6px; }
.chest__lid{ top:14px; height:48px; transform-origin:50% 100%; transition:transform .6s var(--spring); border-bottom-left-radius:6px; border-bottom-right-radius:6px; }
.chest__lock{ position:absolute; left:50%; top:52px; transform:translateX(-50%); width:26px; height:30px; border-radius:8px; background:#BB051B; box-shadow:inset 0 2px 0 rgba(255,255,255,.4); z-index:2; }
.chest.is-open .chest__lid{ transform:translateY(-16px) rotate(-18deg); }
.chest__light{ position:absolute; left:50%; top:40px; width:10px; height:10px; transform:translateX(-50%); border-radius:50%; background:#fff; box-shadow:0 0 60px 30px rgba(255,230,180,.8); opacity:0; transition:opacity .4s; }
.chest.is-open .chest__light{ opacity:1; }
.rewards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.reward{ perspective:1000px; height:250px; }
.reward__in{ position:relative; width:100%; height:100%; transform-style:preserve-3d; transition:transform .8s var(--spring); }
.reward.is-flip .reward__in{ transform:rotateY(180deg); }
.reward__face{ position:absolute; inset:0; -webkit-backface-visibility:hidden; backface-visibility:hidden; border-radius:var(--raio-lg); padding:22px; display:flex; flex-direction:column; justify-content:space-between; }
.reward__back{ transform:rotateY(180deg); background:linear-gradient(150deg, rgba(var(--ac2-rgb),.4), rgba(var(--ac-rgb),.5), rgba(4,18,236,.45)); border:1px solid rgba(254,197,232,.4); }
.reward__ic{ width:52px; height:52px; border-radius:16px; display:grid; place-items:center; background:var(--surface-2); border:1px solid var(--line-2); color:var(--rosa); }
.reward.is-locked .reward__ic{ color:var(--text-3); }
.reward__ic svg{ width:24px; height:24px; }

/* =========================================================
   PERFIL (ficha que os técnicos veem)
   ========================================================= */
.profile{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:20px; align-items:start; }
.cover{ position:relative; overflow:hidden; padding:0; }
.cover__img{ height:240px; background:var(--aura-arco), #0d0b12; position:relative; }
.cover__img .court{ position:absolute; inset:0; opacity:.25; background:
  linear-gradient(90deg, transparent 49.7%, rgba(255,255,255,.7) 49.7%, rgba(255,255,255,.7) 50.3%, transparent 50.3%),
  linear-gradient(0deg, transparent 20%, rgba(255,255,255,.4) 20%, rgba(255,255,255,.4) 20.8%, transparent 20.8%, transparent 79.2%, rgba(255,255,255,.4) 79.2%, rgba(255,255,255,.4) 80%, transparent 80%); transform:perspective(500px) rotateX(55deg) scale(1.6); transform-origin:50% 100%; }
.cover__body{ padding:0 28px 26px; margin-top:-46px; position:relative; }
.cover__av{ width:104px; height:104px; font-size:32px; border:4px solid #120f18; }
.measures{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.measure{ padding:14px; border-radius:18px; background:var(--surface); border:1px solid var(--line); }
.measure b{ display:block; font-size:1.5rem; letter-spacing:-.04em; }
.measure span{ font-size:12px; color:var(--text-3); }
.link-box{ display:flex; align-items:center; gap:10px; padding:8px 8px 8px 16px; border-radius:999px; background:var(--surface-2); border:1px solid var(--line-2); font-size:14px; color:var(--text-2); }
.link-box span{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.strength{ display:grid; gap:10px; }
.strength__row{ display:flex; align-items:center; gap:10px; font-size:14px; }
.strength__row .ok{ color:#9BE8C0; } .strength__row .no{ color:var(--text-3); }

/* =========================================================
   CONFIGURAÇÕES
   ========================================================= */
.settings{ display:grid; grid-template-columns:240px minmax(0,1fr); gap:20px; align-items:start; }
.snav{ position:sticky; top:calc(var(--top-h) + 12px); display:grid; gap:2px; }
.snav button{ display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:14px; font-weight:550; font-size:14.5px; color:var(--text-2); text-align:left; transition:background-color .2s, color .2s; }
.snav button:hover{ background:var(--surface); color:var(--text); }
.snav button.is-on{ background:var(--surface-2); color:#fff; }
.srow{ display:grid; grid-template-columns:1fr auto; gap:16px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); }
.srow:last-child{ border-bottom:0; }
.switch{ position:relative; width:52px; height:30px; border-radius:999px; background:var(--surface-3); border:1px solid var(--line-2); transition:background-color .3s; flex:none; }
.switch::after{ content:""; position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.4); transition:transform .4s var(--spring); }
.switch.is-on{ background:var(--vermelho); border-color:transparent; box-shadow:0 0 16px rgba(var(--ac-rgb),.5); }
.switch.is-on::after{ transform:translateX(22px); }
.field{ display:grid; gap:6px; }
.field label{ font-size:12.5px; font-weight:600; color:var(--text-3); }
.input{ height:46px; padding:0 16px; border-radius:14px; background:var(--surface); border:1px solid var(--line-2); outline:none; transition:border-color .2s, box-shadow .2s; }
.input:focus{ border-color:var(--pink); box-shadow:0 0 0 4px rgba(var(--ac2-rgb),.15); }
.plan-card{ background:linear-gradient(140deg, rgba(254,197,232,.18), rgba(var(--ac-rgb),.22) 50%, rgba(4,18,236,.28)); border-color:rgba(254,197,232,.35); }

/* =========================================================
   Camadas globais: cursor, ⌘K, toast, confete, notificações
   ========================================================= */
.cursor{ position:fixed; left:0; top:0; z-index:1000; pointer-events:none; }
.cursor__dot{ position:fixed; left:0; top:0; width:9px; height:9px; margin:-4.5px 0 0 -4.5px; border-radius:50%; background:var(--vermelho); box-shadow:0 0 12px rgba(231,1,56,.9); transition:opacity .2s, width .25s, height .25s, margin .25s; }
.cursor__ring{ position:fixed; left:0; top:0; width:10px; height:10px; margin:-5px 0 0 -5px; opacity:0; border-radius:999px; border:1.5px solid transparent; display:grid; place-items:center; transition:width .35s var(--ease-out), height .35s var(--ease-out), margin .35s var(--ease-out), background-color .3s, border-color .3s, opacity .2s; }
.cursor__label{ font-size:12px; font-weight:700; color:var(--grafite); white-space:nowrap; opacity:0; transition:opacity .2s; display:flex; align-items:center; gap:5px; }
.cursor.is-hover .cursor__dot{ transform-origin:center; width:14px; height:14px; margin:-7px 0 0 -7px; }
.cursor.is-label .cursor__ring{ opacity:1; width:auto; min-width:76px; height:34px; margin:-17px 0 0 -38px; padding:0 14px; background:#fff; border-color:#fff; box-shadow:0 8px 24px rgba(0,0,0,.35); }
.cursor.is-label .cursor__label{ opacity:1; }
.cursor.is-label .cursor__dot{ opacity:0; }
.cursor.is-text .cursor__ring{ opacity:1; width:3px; height:26px; margin:-13px 0 0 -1.5px; border-radius:2px; background:var(--pink); border-color:transparent; }
.cursor.is-text .cursor__dot{ opacity:0; }
.cursor.is-down .cursor__ring{ transform:scale(.85); }
.cursor.is-hidden{ opacity:0; }
.trail-dot{ position:fixed; z-index:999; pointer-events:none; width:6px; height:6px; margin:-3px 0 0 -3px; border-radius:50%; background:var(--pink); opacity:.5; animation:trailFade .6s forwards; }
@keyframes trailFade{ to{ opacity:0; transform:scale(.2); } }

.cmdk{ position:fixed; inset:0; z-index:120; display:grid; place-items:start center; padding-top:14vh; background:rgba(5,4,10,.55); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); opacity:0; pointer-events:none; transition:opacity .25s; }
.cmdk.is-open{ opacity:1; pointer-events:auto; }
.cmdk__box{ width:min(620px,92vw); border-radius:24px; overflow:hidden; background:linear-gradient(170deg, rgba(30,24,40,.96), rgba(14,12,20,.98)); border:1px solid var(--line-2); box-shadow:var(--vidro-3); transform:translateY(-10px) scale(.97); transition:transform .4s var(--spring); }
.cmdk.is-open .cmdk__box{ transform:none; }
.cmdk__in{ display:flex; align-items:center; gap:12px; padding:0 20px; border-bottom:1px solid var(--line); }
.cmdk__in input{ flex:1; height:62px; background:none; border:0; outline:none; font-size:17px; }
.cmdk__list{ max-height:380px; overflow:auto; padding:8px; }
.cmdk__group{ font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3); padding:10px 12px 6px; }
.cmdk__item{ width:100%; display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:12px; font-size:14.5px; text-align:left; }
.cmdk__item.is-on{ background:var(--surface-2); }
.cmdk__item .ic{ color:var(--text-3); }
.cmdk__item.is-on .ic{ color:var(--pink); }
.cmdk__item small{ margin-left:auto; color:var(--text-3); font-size:12px; }

.toasts{ position:fixed; top:90px; left:50%; transform:translateX(-50%); z-index:130; display:grid; gap:8px; justify-items:center; pointer-events:none; }
.toast{ display:flex; align-items:center; gap:10px; padding:10px 18px 10px 10px; border-radius:999px; background:rgba(20,16,28,.92); border:1px solid rgba(254,197,232,.3); box-shadow:var(--vidro-3); font-weight:600; font-size:14.5px; animation:toastIn .6s var(--spring) both; -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
.toast.is-out{ animation:toastOut .35s var(--ease) forwards; }
.toast__ic{ width:30px; height:30px; border-radius:50%; display:grid; place-items:center; background:var(--grad-rosa); color:#fff; }
.toast__ic svg{ width:16px; height:16px; }
.toast b{ color:var(--rosa); }
@keyframes toastIn{ from{ opacity:0; transform:translateY(-20px) scale(.9); } }
@keyframes toastOut{ to{ opacity:0; transform:translateY(-12px) scale(.95); } }
.float-pts{ position:fixed; z-index:140; pointer-events:none; font-weight:800; font-size:20px; color:var(--rosa); text-shadow:0 0 18px rgba(var(--ac2-rgb),.8); animation:floatUp 1.1s var(--ease-out) forwards; }
@keyframes floatUp{ from{ opacity:1; transform:translate(-50%,0) scale(.8); } to{ opacity:0; transform:translate(-50%,-70px) scale(1.2); } }
#confetti{ position:fixed; inset:0; z-index:150; pointer-events:none; }

.notif{ position:fixed; top:calc(var(--top-h) + 4px); right:20px; z-index:110; width:380px; padding:10px; border-radius:24px; background:linear-gradient(170deg, rgba(30,24,40,.96), rgba(14,12,20,.98)); border:1px solid var(--line-2); box-shadow:var(--vidro-3); opacity:0; transform:translateY(-10px) scale(.97); transform-origin:top right; pointer-events:none; transition:opacity .25s, transform .4s var(--spring); }
.notif.is-open{ opacity:1; transform:none; pointer-events:auto; }
.notif__item{ display:grid; grid-template-columns:auto 1fr; gap:12px; padding:12px; border-radius:16px; transition:background-color .2s; }
.notif__item:hover{ background:var(--surface); }

/* modal de comemoração (set vencido) */
.celebrate{ position:fixed; inset:0; z-index:145; display:grid; place-items:center; background:rgba(5,4,10,.7); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); opacity:0; pointer-events:none; transition:opacity .3s; }
.celebrate.is-open{ opacity:1; pointer-events:auto; }
.celebrate__box{ text-align:center; display:grid; gap:14px; justify-items:center; padding:40px; max-width:460px; transform:scale(.8); transition:transform .6s var(--spring); }
.celebrate.is-open .celebrate__box{ transform:none; }

/* ---------- Responsivo ---------- */
@media (max-width:1100px){
  .home, .match-wrap, .aulas, .check-wrap, .cal, .profile, .deck-area{ grid-template-columns:1fr; }
  .com{ grid-template-columns:1fr; }
  .channels{ position:static; display:flex; overflow:auto; }
  .feed{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tools{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rewards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px){
  .main{ padding:calc(var(--top-h) + 6px) 16px 130px; }
  .top{ padding:0 16px; }
  .top__search{ width:44px; padding:0; justify-content:center; margin-left:auto; margin-right:0; }
  .top__search span, .top__search kbd{ display:none; }
  .stat-pill--pts{ display:none; }
  .sets{ grid-template-columns:repeat(6,minmax(96px,1fr)); overflow-x:auto; }
  .feed, .g-2, .g-3, .g-4, .tools, .rewards, .mail, .settings{ grid-template-columns:1fr; }
  .measures{ grid-template-columns:repeat(2,1fr); }
  .snav{ position:static; display:flex; overflow:auto; }
  .dock-wrap{ bottom:10px; padding:0 10px; }
  .dock{ max-width:100%; overflow-x:auto; scrollbar-width:none; }
  .dock__item{ width:42px; height:42px; }
  .next{ grid-template-columns:auto 1fr; }
  .next > :last-child{ grid-column:1 / -1; }
  .bonus-hero{ grid-template-columns:1fr; }
  .day{ min-height:56px; }
  .day .ev{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* =========================================================
   v2 · cor do app escolhida pela atleta
   ========================================================= */
:root, [data-cor="vermelho"]{
  --ac-rgb:231,1,56; --ac2-rgb:255,77,109;
  --pink:#FF4D6D; --rosa:#FF9AB0;
  --grad-rosa:linear-gradient(180deg,#FF8FA5 0%,#FF2E5B 45%,#C3002F 100%);
  --grad-progresso:linear-gradient(90deg,#FF9AB0,#FF2E5B 45%,#E70138);
  --node-1:#FF8FA5; --node-2:#E70138; --node-3:#8A0322;
}
[data-cor="azul"]{
  --ac-rgb:4,18,236; --ac2-rgb:90,107,255;
  --pink:#7C8CFF; --rosa:#B9C2FF;
  --grad-rosa:linear-gradient(180deg,#A9B4FF 0%,#4F6BFF 45%,#0412EC 100%);
  --grad-progresso:linear-gradient(90deg,#B9C2FF,#4F6BFF 45%,#0412EC);
  --node-1:#8C9BFF; --node-2:#0412EC; --node-3:#030A8A;
}
[data-cor="rosa"]{
  --ac-rgb:255,88,181; --ac2-rgb:255,88,181;
  --pink:#FF58B5; --rosa:#FEC5E8;
  --grad-rosa:linear-gradient(180deg,#FEC5E8 0%,#FF58B5 45%,#E70138 100%);
  --grad-progresso:linear-gradient(90deg,#FEC5E8,#FF58B5 40%,#E70138);
  --node-1:#FEC5E8; --node-2:#FF58B5; --node-3:#B02A78;
}
.cor-dot{ width:44px; height:44px; border-radius:50%; border:3px solid transparent; transition:transform .3s var(--spring), border-color .2s; box-shadow:inset 0 2px 0 rgba(255,255,255,.4); }
.cor-dot:hover{ transform:scale(1.1); }
.cor-dot.is-on{ border-color:#fff; box-shadow:0 0 0 3px rgba(var(--ac-rgb),.4); }

/* moeda, cristal e bola no topo */
.stat-pill .art{ flex:none; }
.stat-pill--rally .ic{ color:#FF8A3D; filter:drop-shadow(0 0 8px rgba(255,138,61,.55)); }
.pop{ position:fixed; z-index:115; width:320px; padding:18px; border-radius:22px; background:linear-gradient(170deg, rgba(30,24,40,.97), rgba(14,12,20,.98)); border:1px solid var(--line-2); box-shadow:var(--vidro-3); opacity:0; transform:translateY(-8px) scale(.97); transform-origin:top right; pointer-events:none; transition:opacity .2s, transform .35s var(--spring); }
.pop.is-open{ opacity:1; transform:none; pointer-events:auto; }
.weeks{ display:flex; gap:6px; margin-top:12px; }
.weeks i{ flex:1; height:30px; border-radius:9px; background:var(--surface-2); border:1px solid var(--line); display:grid; place-items:center; font-style:normal; font-size:11px; color:var(--text-3); }
.weeks i.on{ background:linear-gradient(160deg,#FFB27A,#FF6A2B); border-color:transparent; color:#fff; }
.weeks i.now{ border:2px dashed rgba(255,138,61,.7); color:#FFB27A; }

/* botão "Como funciona" */
.how{ display:inline-flex; align-items:center; gap:8px; height:34px; padding:0 14px 0 6px; border-radius:999px; background:var(--surface-2); border:1px solid var(--line); font-size:13px; font-weight:600; color:var(--text-2); transition:color .2s, border-color .2s; }
.how:hover{ color:#fff; border-color:var(--line-2); }
.how span{ width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:var(--grad-rosa); color:#fff; }
.how span svg{ width:11px; height:11px; }

/* modal genérico */
.modal{ position:fixed; inset:0; z-index:125; display:grid; place-items:center; padding:20px; background:rgba(5,4,10,.6); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); opacity:0; pointer-events:none; transition:opacity .25s; }
.modal.is-open{ opacity:1; pointer-events:auto; }
.modal__box{ width:min(560px,100%); max-height:88vh; overflow:auto; padding:26px; border-radius:28px; background:linear-gradient(170deg, rgba(32,26,42,.97), rgba(14,12,20,.98)); border:1px solid var(--line-2); box-shadow:var(--vidro-3); transform:translateY(12px) scale(.97); transition:transform .45s var(--spring); }
.modal.is-open .modal__box{ transform:none; }
.modal__box--lg{ width:min(760px,100%); }
.modal__x{ float:right; }
.obra{ text-align:center; display:grid; gap:12px; justify-items:center; }
.obra .onze{ animation:ballBob 2.4s ease-in-out infinite; }
.obra__capacete{ position:relative; }
.obra__capacete::after{ content:"🚧"; position:absolute; top:-12px; right:-14px; font-size:30px; }

/* Aquecimento na Home */
.aq{ display:grid; gap:10px; }
.aq__item{ display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:10px 12px; border-radius:16px; background:var(--surface); border:1px solid var(--line); transition:border-color .2s, transform .3s var(--ease-out); }
.aq__item:hover{ border-color:var(--line-2); transform:translateX(3px); }
.aq__item.is-ok{ opacity:.55; }
.aq__item.is-ok .aq__t{ text-decoration:line-through; }
.aq__ck{ width:24px; height:24px; border-radius:50%; display:grid; place-items:center; border:2px solid var(--line-2); }
.aq__item.is-ok .aq__ck{ background:var(--grad-rosa); border-color:transparent; color:#fff; }
.aq__ck svg{ width:13px; height:13px; }

.missao{ display:grid; grid-template-columns:1fr auto; gap:8px 12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line); }
.missao:last-child{ border-bottom:0; }
.missao .bar{ grid-column:1 / -1; height:6px; }
.reward-tag{ display:inline-flex; align-items:center; gap:5px; font-size:13px; font-weight:700; color:#FFD15C; }

/* Ficha: aura até o fim */
.drawer__panel{ background:radial-gradient(ellipse 120% 40% at 80% 0%, rgba(4,18,236,.55), transparent 70%), radial-gradient(ellipse 110% 45% at 0% 100%, rgba(var(--ac-rgb),.45), transparent 70%), radial-gradient(ellipse 70% 30% at 70% 55%, rgba(255,88,181,.16), transparent 70%), #110d18; background-attachment:local; }
.drawer__hero::before{ display:none; }
.coach{ display:grid; grid-template-columns:auto auto 1fr; gap:12px; align-items:center; padding:12px; border-radius:16px; background:var(--surface); border:1px solid var(--line); cursor:pointer; transition:border-color .2s, background-color .2s; }
.coach.is-on{ border-color:rgba(var(--ac2-rgb),.6); background:rgba(var(--ac2-rgb),.08); }
.coach__ck{ width:22px; height:22px; border-radius:7px; border:2px solid var(--line-2); display:grid; place-items:center; }
.coach.is-on .coach__ck{ background:var(--grad-rosa); border-color:transparent; color:#fff; }
.coach__ck svg{ width:12px; height:12px; }
.cargo{ display:inline-block; margin-top:3px; font-size:11px; font-weight:700; letter-spacing:.04em; padding:2px 8px; border-radius:6px; background:rgba(var(--ac2-rgb),.14); color:var(--rosa); }
.prazo{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:#FFC46B; }
.prazo svg{ width:14px; height:14px; }

/* Feed com filtros na lateral */
.feed-wrap{ display:grid; grid-template-columns:260px minmax(0,1fr); gap:20px; align-items:start; }
.filters{ padding:20px; }
.fgroup{ padding:12px 0; border-bottom:1px solid var(--line); }
.fgroup:last-child{ border-bottom:0; }
.fgroup__t{ display:flex; justify-content:space-between; align-items:center; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); margin-bottom:10px; }
.fgroup__ops{ display:flex; flex-wrap:wrap; gap:6px; }
.feed-wrap .feed{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.filter-open{ display:none; }
.sheet-shade{ display:none; }
.vazio{ text-align:center; padding:50px 20px; }

/* E-mails com cara de caixa de entrada */
.inbox{ display:grid; grid-template-columns:210px minmax(0,1fr); gap:16px; align-items:start; }
.folders{ display:grid; gap:2px; padding:12px; }
.folders .btn{ margin-bottom:10px; }
.folder{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:12px; font-size:14.5px; font-weight:550; color:var(--text-2); text-align:left; }
.folder:hover{ background:var(--surface); color:var(--text); }
.folder.is-on{ background:var(--surface-2); color:#fff; }
.folder b{ margin-left:auto; font-size:12px; color:var(--rosa); }
.mlist{ padding:0; overflow:hidden; }
.mlist__head{ display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--line); }
.mrow{ width:100%; display:grid; grid-template-columns:auto 200px minmax(0,1fr) auto; gap:14px; align-items:center; padding:13px 18px; border-bottom:1px solid var(--line); text-align:left; font-size:14px; transition:background-color .15s; }
.mrow:hover{ background:var(--surface); }
.mrow.is-unread{ background:rgba(255,255,255,.03); }
.mrow.is-unread .mrow__who, .mrow.is-unread .mrow__subj{ font-weight:700; color:#fff; }
.mrow__who{ color:var(--text-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mrow__line{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--text-3); }
.mrow__subj{ color:var(--text-2); }
.mrow__right{ display:flex; align-items:center; gap:10px; white-space:nowrap; font-size:12.5px; color:var(--text-3); }
.st{ font-size:11px; font-weight:700; padding:3px 8px; border-radius:6px; background:var(--surface-2); color:var(--text-3); }
.st--aberto{ background:rgba(90,107,255,.18); color:#B9C2FF; }
.st--resp{ background:rgba(120,230,170,.14); color:#9BE8C0; }
.mail-view{ padding:0; overflow:hidden; }
.mail-view__top{ display:flex; align-items:center; gap:10px; padding:12px 16px; border-bottom:1px solid var(--line); }
.mail-msg{ padding:20px 24px; border-bottom:1px solid var(--line); }
.mail-msg__head{ display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; margin-bottom:14px; }
.mail-msg__meta{ font-size:12.5px; color:var(--text-3); line-height:1.5; }
.mail-msg__meta b{ color:var(--text); font-weight:600; font-size:14px; }
.mail-msg__body{ white-space:pre-wrap; font-size:14.5px; line-height:1.65; color:var(--text); padding-left:52px; }
.mail-msg.is-collapsed .mail-msg__body{ display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; color:var(--text-3); white-space:normal; }
.from-gmail{ display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--text-3); }
.compose{ position:fixed; right:24px; bottom:96px; z-index:95; width:min(560px,calc(100vw - 32px)); border-radius:20px 20px 16px 16px; overflow:hidden; background:linear-gradient(170deg, #211a2c, #131019); border:1px solid var(--line-2); box-shadow:var(--vidro-3); transform:translateY(20px); opacity:0; pointer-events:none; transition:transform .45s var(--spring), opacity .25s; }
.compose.is-open{ transform:none; opacity:1; pointer-events:auto; }
.compose__head{ display:flex; align-items:center; justify-content:space-between; padding:12px 16px; background:rgba(255,255,255,.05); font-weight:650; }
.compose__f{ display:flex; align-items:center; gap:10px; padding:10px 16px; border-bottom:1px solid var(--line); font-size:14px; }
.compose__f label{ color:var(--text-3); width:58px; flex:none; }
.compose__f input{ flex:1; background:none; border:0; outline:none; font-size:14px; min-width:0; }
.compose textarea{ width:100%; min-height:220px; padding:14px 16px; background:none; border:0; outline:none; resize:none; font-size:14px; line-height:1.6; color:var(--text); }
.compose__foot{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 16px; border-top:1px solid var(--line); flex-wrap:wrap; }
.rcpt{ display:inline-flex; align-items:center; gap:6px; padding:3px 4px 3px 10px; border-radius:999px; background:var(--surface-2); font-size:13px; }
.tpl{ display:grid; gap:6px; text-align:left; padding:16px; transition:border-color .2s, transform .3s var(--ease-out); }
.tpl:hover{ border-color:rgba(var(--ac2-rgb),.5); transform:translateY(-3px); }

/* Calendário v2 */
.cal-explica{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; margin-bottom:18px; }
.legend{ display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:14px; }
.legend__i{ display:flex; gap:10px; align-items:flex-start; max-width:260px; }
.legend__sw{ width:16px; height:16px; border-radius:5px; flex:none; margin-top:3px; }
.legend__i b{ font-size:14px; } .legend__i small{ display:block; font-size:11.5px; color:var(--text-3); font-style:italic; }
.legend__i p{ font-size:12.5px; color:var(--text-2); line-height:1.4; }
.ligas{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.liga-chip .dot{ width:9px; height:9px; }
.cal2{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:18px; align-items:start; }
.mgrid{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.mday{ position:relative; aspect-ratio:1.15; border-radius:12px; display:flex; flex-direction:column; justify-content:space-between; padding:7px 8px; font-weight:700; font-size:13.5px; color:#10240f; transition:transform .2s var(--ease-out); text-align:left; }
.mday:hover{ transform:scale(1.05); z-index:1; }
.mday.out{ visibility:hidden; }
.mday.contact, .mday.livre{ background:#3DBE6B; }
.mday.quiet{ background:#F5C431; color:#3d2e00; }
.mday.dead{ background:#E5484D; color:#fff; }
.mday.none{ background:var(--surface); color:var(--text-2); border:1px solid var(--line); }
.mday.today{ box-shadow:0 0 0 3px #fff, 0 0 18px rgba(255,255,255,.4); }
.mday.sel{ outline:3px solid rgba(255,255,255,.7); outline-offset:-3px; }
.mday .evd{ display:flex; gap:3px; }
.mday .evd i{ width:6px; height:6px; border-radius:50%; background:#fff; box-shadow:0 0 0 1.5px rgba(0,0,0,.25); }
.mday .mk{ font-size:10px; font-weight:800; }
.agora{ background:linear-gradient(150deg, rgba(var(--ac-rgb),.28), rgba(4,18,236,.24)); border-color:rgba(255,255,255,.18); }
.rule{ display:flex; gap:10px; align-items:center; font-size:14px; padding:6px 0; }
.rule .ok{ color:#3DBE6B; } .rule .no{ color:#E5484D; }
.plist{ display:grid; gap:8px; }
.prow{ display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:12px 14px; border-radius:14px; background:var(--surface); border:1px solid var(--line); }
.prow.is-now{ border-color:rgba(255,255,255,.4); }
.agenda-ev{ display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:center; padding:10px 12px; border-radius:14px; background:var(--surface); border:1px solid var(--line); }

/* Recompensas v2 */
.wallet{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.wallet__i{ display:flex; align-items:center; gap:14px; padding:18px; }
.wallet__i b{ font-size:1.8rem; letter-spacing:-.05em; display:block; line-height:1; }
.bau-svg{ overflow:visible; filter:drop-shadow(0 18px 30px rgba(0,0,0,.4)); }
.bau-svg .bau-tampa{ transform-origin:80px 62px; transition:transform .7s var(--spring); }
.bau-svg.is-open .bau-tampa{ transform:translateY(-14px) rotate(-14deg); }
.bau-svg .bau-luz{ opacity:0; transition:opacity .5s; }
.bau-svg.is-open .bau-luz{ opacity:1; }
.bau-btn{ transition:transform .4s var(--spring); }
.bau-btn:hover{ transform:scale(1.06) rotate(-3deg); }
.bau-btn.is-shake{ animation:shake .6s; }
.baus{ display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.baus__i{ display:grid; justify-items:center; gap:6px; padding:14px 6px; border-radius:18px; background:var(--surface); border:1px solid var(--line); font-size:12px; color:var(--text-2); text-align:center; }
.baus__i.is-lock svg{ filter:grayscale(1) brightness(.5); }
.baus__i.is-now{ border-color:rgba(var(--ac2-rgb),.5); }
.shop{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.shop__i{ display:grid; gap:12px; padding:20px; }
.shop__price{ display:inline-flex; align-items:center; gap:6px; font-weight:800; }
.conq{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.conq__i{ position:relative; display:grid; justify-items:center; gap:6px; padding:18px 12px; border-radius:22px; text-align:center; background:var(--surface); border:1px solid var(--line); transition:transform .35s var(--spring); overflow:hidden; }
.conq__i:hover{ transform:translateY(-4px) rotate(-1deg); }
.conq__e{ font-size:46px; line-height:1; filter:drop-shadow(0 8px 14px rgba(0,0,0,.35)); }
.conq__i.is-ok{ background:linear-gradient(160deg, rgba(255,212,138,.18), rgba(var(--ac-rgb),.14)); border-color:rgba(255,212,138,.35); }
.conq__i.is-ok{ box-shadow:0 0 0 1px rgba(255,212,138,.25), 0 0 28px rgba(255,190,90,.14), inset 0 1px 0 rgba(255,255,255,.18); }
.conq__i.is-ok::after{ content:""; position:absolute; top:0; bottom:0; left:-60%; width:45%; background:linear-gradient(105deg, transparent, rgba(255,245,215,.55), transparent); transform:skewX(-18deg); opacity:0; pointer-events:none; }
.conq__i.is-ok:hover::after{ animation:brilhoOuro .9s var(--ease-out) forwards; }
@keyframes brilhoOuro{ 0%{ left:-60%; opacity:1; } 100%{ left:130%; opacity:1; } }
.conq__i:not(.is-ok) .conq__e{ filter:grayscale(1) opacity(.35); }
.conq__i b{ font-size:14px; letter-spacing:-.02em; }
.conq__i small{ font-size:12px; color:var(--text-3); line-height:1.35; }
.invite{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:22px; align-items:center; background:linear-gradient(140deg, rgba(var(--ac-rgb),.22), rgba(4,18,236,.22)); border-color:rgba(255,255,255,.16); }
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:14px; }
.steps__i{ padding:10px; border-radius:14px; background:rgba(0,0,0,.2); border:1px solid var(--line); text-align:center; font-size:12px; color:var(--text-2); }
.steps__i b{ display:block; font-size:1.3rem; color:#fff; }
.steps__i.is-ok{ background:var(--grad-rosa); color:#fff; border-color:transparent; }
.wa{ background:#25D366; color:#062b14; }
.wa:hover{ transform:translateY(-2px); }

/* Perfil v2 */
.cover__img{ background-size:cover; background-position:center; }
.cover__img.has-img .court{ display:none; }
.cover__img .court{ display:none; }
.cover__edit{ position:absolute; right:16px; top:16px; z-index:2; }
.av-wrap{ position:relative; display:inline-block; }
.av-wrap .av{ background-size:cover; background-position:center; }
.av-wrap__btn{ position:absolute; right:0; bottom:4px; width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#fff; color:var(--grafite); box-shadow:0 6px 16px rgba(0,0,0,.4); }
.av-wrap__btn svg{ width:16px; height:16px; }
.form-sec{ padding:18px 0; border-bottom:1px solid var(--line); }
.form-sec:last-child{ border-bottom:0; }
.form-sec h4{ margin-bottom:12px; }
.covers{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.covers button{ height:56px; border-radius:12px; border:2px solid transparent; }
.covers button.is-on{ border-color:#fff; }
.public{ max-width:760px; margin:0 auto; }
.public__bar{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px; border-radius:14px; background:rgba(245,196,49,.12); border:1px solid rgba(245,196,49,.35); color:#FFE08A; font-size:13.5px; margin-bottom:16px; }

/* Quiz (primeiro acesso) */
.quiz{ max-width:560px; margin:10px auto 0; }
.quiz__bar{ height:6px; border-radius:999px; background:var(--track); overflow:hidden; margin-bottom:28px; }
.quiz__bar span{ display:block; height:100%; background:var(--grad-progresso); transition:width .6s var(--ease-out); }
.opt{ display:flex; align-items:center; gap:12px; width:100%; padding:16px 18px; border-radius:18px; background:var(--surface); border:1.5px solid var(--line-2); font-weight:600; font-size:15.5px; text-align:left; transition:border-color .2s, background-color .2s, transform .25s var(--ease-out); }
.opt:hover{ transform:translateY(-2px); border-color:rgba(255,255,255,.3); }
.opt.is-on{ border-color:rgba(var(--ac2-rgb),.8); background:rgba(var(--ac2-rgb),.1); }
.check-line{ display:flex; gap:10px; align-items:flex-start; font-size:13.5px; color:var(--text-2); cursor:pointer; }
.check-line input{ margin-top:3px; accent-color:var(--vermelho); width:16px; height:16px; }

/* IA v2: minimalista, como um universo */
.ai2{ min-height:calc(100vh - var(--top-h) - 170px); display:grid; align-content:center; justify-items:center; gap:22px; text-align:center; max-width:760px; margin:0 auto; }
.ai2 .orb{ width:168px; height:168px; }
.stars{ position:fixed; inset:0; z-index:-1; pointer-events:none; background-image:radial-gradient(1px 1px at 20% 30%, rgba(255,255,255,.6), transparent), radial-gradient(1px 1px at 70% 20%, rgba(255,255,255,.5), transparent), radial-gradient(1.5px 1.5px at 40% 70%, rgba(255,255,255,.4), transparent), radial-gradient(1px 1px at 85% 60%, rgba(255,255,255,.5), transparent), radial-gradient(1px 1px at 10% 80%, rgba(255,255,255,.4), transparent), radial-gradient(1px 1px at 55% 45%, rgba(255,255,255,.35), transparent), radial-gradient(1.5px 1.5px at 90% 85%, rgba(255,255,255,.45), transparent); animation:twinkle 6s ease-in-out infinite alternate; }
@keyframes twinkle{ to{ opacity:.4; } }
.ai2 .chat{ width:100%; text-align:left; }
.ai2 .prompt{ width:100%; position:static; }
.fonte{ display:inline-flex; align-items:center; gap:6px; margin-top:10px; font-size:12px; color:var(--text-3); padding:4px 10px; border-radius:999px; border:1px solid var(--line); }

@media (max-width:1100px){
  .feed-wrap, .cal2, .invite{ grid-template-columns:1fr; }
  .filters{ position:fixed; left:0; right:0; bottom:0; top:auto; z-index:100; max-height:78vh; border-radius:28px 28px 0 0; transform:translateY(105%); transition:transform .5s var(--spring); background:linear-gradient(170deg, #211a2c, #131019); }
  .filters.is-open{ transform:none; }
  .filter-open{ display:inline-flex; }
  .sheet-shade{ display:block; position:fixed; inset:0; z-index:99; background:rgba(5,4,10,.5); opacity:0; pointer-events:none; transition:opacity .3s; }
  .sheet-shade.is-open{ opacity:1; pointer-events:auto; }
  .shop{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .conq{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .baus{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:760px){
  .feed-wrap .feed, .shop, .wallet{ grid-template-columns:1fr; }
  .inbox{ grid-template-columns:1fr; }
  .folders{ display:flex; overflow:auto; }
  .mrow{ grid-template-columns:auto minmax(0,1fr); }
  .mrow__line, .mrow__right .st{ display:none; }
  .mail-msg__body{ padding-left:0; }
  .conq{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cal-explica{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:repeat(2,1fr); }
}
.school{ align-content:start; }
.roster__dots{ align-items:center; height:12px; }
.roster__dots i{ flex:none; }
@media (max-width:760px){ #cristais{ display:none; } }

/* =========================================================
   v2.1 · ajustes da rodada de 11/10
   ========================================================= */
:root, [data-cor="vermelho"]{ --ac:#E70138; }
[data-cor="azul"]{ --ac:#2B3BFF; }
[data-cor="rosa"]{ --ac:#FF58B5; }

/* checks numa cor só */
.citem.is-done .box, .aq__item.is-ok .aq__ck, .coach.is-on .coach__ck, .steps__i.is-ok, .fcheck input:checked + .fcheck__box{ background:var(--ac); border-color:transparent; box-shadow:none; }
.citem.is-done .box{ transform:scale(1.06); }

/* textos pequenos com mais respiro */
.tiny{ font-size:12.5px; letter-spacing:.01em; line-height:1.45; }
.small{ letter-spacing:.005em; }
.eyebrow{ letter-spacing:.18em; }
.set__pts{ letter-spacing:-.02em; }
.set__pts small{ margin-left:3px; letter-spacing:0; }
.placar__of{ margin-left:4px; }
.conq__i b{ font-size:15.5px; letter-spacing:-.01em; }
.conq__i small{ font-size:13px; letter-spacing:.01em; line-height:1.45; }
.conq__e{ font-size:52px; }
.rank__row b{ font-size:15px !important; }
.rank__row .tiny{ font-size:13px; }
h2 .small{ letter-spacing:.02em; margin-left:8px; }

/* ícones */
.ic-xs{ width:14px; height:14px; display:inline; vertical-align:-2px; }
.ic-lg{ width:44px; height:44px; }
.input--sm{ height:38px; padding:0 12px; font-size:14px; width:100%; }

/* botões do topo de cada página com a mesma altura */
.phead__actions{ align-items:center; }
.phead__actions .btn{ --h:44px; }
.how{ height:44px; padding:0 18px 0 8px; font-size:14px; gap:10px; }
.how span{ width:28px; height:28px; }
.seg button{ height:36px; }

/* Topo mais estreito */
.stat-pill{ white-space:nowrap; }
@media (max-width:1180px){ .top__search{ width:44px; padding:0; justify-content:center; margin-left:auto; margin-right:0; } .top__search span, .top__search kbd{ display:none; } }
@media (max-width:980px){ .pill-unit{ display:none; } }

/* Filtros com caixinhas */
.fcheck{ display:flex; align-items:center; gap:10px; padding:6px 2px; font-size:14px; color:var(--text-2); cursor:pointer; border-radius:8px; }
.fcheck:hover{ color:var(--text); }
.fcheck input{ position:absolute; opacity:0; pointer-events:none; }
.fcheck__box{ width:20px; height:20px; border-radius:6px; border:2px solid var(--line-2); display:grid; place-items:center; flex:none; color:#fff; transition:background-color .2s, border-color .2s; }
.fcheck__box svg{ width:12px; height:12px; opacity:0; }
.fcheck input:checked + .fcheck__box svg{ opacity:1; }
.fcheck input:checked ~ span:last-child{ color:var(--text); }
.fliga{ padding:4px 0 10px; }
.fliga__n{ display:block; font-size:14.5px; margin:4px 0 2px; }
.fliga .fcheck{ padding-left:4px; }
.fgroup__list{ display:grid; gap:0; }
.fgroup__list--2{ grid-template-columns:1fr 1fr; column-gap:8px; }
.range input{ width:100%; -webkit-appearance:none; appearance:none; height:6px; border-radius:999px; background:linear-gradient(90deg, var(--ac) var(--v,100%), var(--track) var(--v,100%)); outline:none; margin:8px 0 12px; }
.range input::-webkit-slider-thumb{ -webkit-appearance:none; width:22px; height:22px; border-radius:50%; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.4), 0 0 0 4px rgba(var(--ac-rgb),.35); cursor:pointer; }
.range input::-moz-range-thumb{ width:22px; height:22px; border-radius:50%; background:#fff; border:0; box-shadow:0 2px 8px rgba(0,0,0,.4); }

/* Feed em uma coluna, fichas largas */
.feed-wrap{ grid-template-columns:280px minmax(0,1fr); }
.feed1{ display:grid; gap:14px; }
.srow-card{ display:grid; grid-template-columns:minmax(220px,1.3fr) minmax(260px,1.2fr) minmax(180px,1fr) auto; gap:24px; align-items:center; padding:20px 22px; cursor:pointer; transition:transform .4s var(--ease-out), border-color .25s; }
.srow-card:hover{ transform:translateY(-3px); border-color:rgba(255,255,255,.22); }
.srow-card__id{ display:flex; gap:14px; align-items:center; }
.srow-card__facts{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.srow-card__end{ display:flex; flex-direction:column; align-items:center; gap:10px; }
.deck-help{ display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; padding:18px; margin-bottom:18px; }
@media (max-width:1100px){
  .feed-wrap{ grid-template-columns:1fr; }
  .srow-card{ grid-template-columns:1fr 1fr; }
  .srow-card__end{ flex-direction:row; justify-content:flex-end; }
  .drawer__panel{ width:100%; }
}
@media (max-width:760px){
  .srow-card{ grid-template-columns:1fr; gap:16px; }
  .srow-card__end{ justify-content:space-between; }
  .fgroup__list--2{ grid-template-columns:1fr; }
}
.drawer__panel{ width:min(760px,100%); }

/* E-mails: separador de marcadores */
.folders__sep{ display:flex; align-items:center; justify-content:space-between; margin:14px 0 4px; padding:0 12px; text-transform:uppercase; letter-spacing:.12em; }
.wallet{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:760px){ .wallet{ grid-template-columns:1fr; } }
/* filtro de liga no estilo do RosterHunter */
.fliga__head{ display:flex; align-items:baseline; gap:10px; margin:6px 0 2px; }
.fliga__n{ font-size:13px; font-weight:700; letter-spacing:.1em; color:var(--text-2); margin:0; }
.fliga__all{ font-size:13px; color:var(--text-3); text-decoration:underline; text-underline-offset:3px; }
.fliga__all:hover{ color:var(--text); }
.fliga .fcheck{ font-size:15px; }
/* "Como funciona" com o mesmo visual do botão de vidro ao lado */
.how{ height:44px; padding:0 20px 0 8px; gap:10px; font-size:15px; font-weight:600; color:var(--text); background:var(--surface-2); border:1px solid var(--line-2); box-shadow:var(--vidro-1); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); transition:transform .35s var(--ease-out), background-color .25s; }
.how:hover{ color:#fff; background:var(--surface-3); transform:translateY(-2px); }

/* "Em construção": só o emoji, grande e balançando */
.obra__emoji{ font-size:96px; line-height:1; animation:obraBalanco 2.2s ease-in-out infinite; transform-origin:50% 90%; filter:drop-shadow(0 12px 24px rgba(0,0,0,.4)); }
@keyframes obraBalanco{ 0%,100%{ transform:rotate(-6deg) translateY(0); } 50%{ transform:rotate(6deg) translateY(-6px); } }

/* agenda: selo Elite com respiro */
.event__txt{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }

/* e-mail conectado, centralizado no rodapé das pastas */
.from-gmail{ display:flex; align-items:center; justify-content:center; gap:8px; margin-top:16px; padding:12px 8px 4px; border-top:1px solid var(--line); font-size:12.5px; color:var(--text-3); text-align:center; }
.from-gmail span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* "Aberto 2x" alinhado */
.aberto{ display:inline-flex; align-items:center; justify-content:flex-end; gap:6px; margin-top:4px; color:#B9C2FF; font-weight:600; }
.aberto svg{ width:15px; height:15px; }
.mail-msg__meta[style*="right"]{ display:flex; flex-direction:column; align-items:flex-end; }

/* cristal: parado sem brilho; brilha ao ganhar e ao passar o mouse onde ele está grande */
.cristal__brilho{ opacity:0; }
.is-shine .cristal, .wallet__i:hover .cristal, .shop__i:hover .cristal{ animation:cristalPulo .7s var(--spring); }
.is-shine .cristal__brilho, .wallet__i:hover .cristal__brilho, .shop__i:hover .cristal__brilho{ animation:cristalBrilho .9s ease-out; }
@keyframes cristalPulo{ 0%{ transform:scale(1) rotate(0); } 40%{ transform:scale(1.18) rotate(-8deg); } 100%{ transform:scale(1) rotate(0); } }
@keyframes cristalBrilho{ 0%{ opacity:0; } 30%{ opacity:1; } 100%{ opacity:0; } }

/* =========================================================
   v2.2 · ajustes da rodada da noite
   ========================================================= */
/* baú novo */
.bau-svg .bau-tampa{ transform-origin:100px 76px; }
.bau-svg.is-open .bau-tampa{ transform:translateY(-16px) rotate(-12deg); }

/* anel em SVG, pontas arredondadas */
.ring{ background:none; }
.ring__svg{ position:absolute; inset:0; z-index:1; }
.ring__arc{ transition:stroke-dashoffset 1.4s var(--ease-out); }
.ring > span{ z-index:2; }

/* cristal: reflexo e estrelinhas aparecem ao ganhar ou passar o mouse */
.cristal__reflexo, .cristal__estrelas path{ opacity:0; }
.cristal__estrelas path{ transform-box:fill-box; transform-origin:center; }
.is-shine .cristal__reflexo, .wallet__i:hover .cristal__reflexo, .shop__i:hover .cristal__reflexo{ animation:cristalReflexo 1.1s ease-out; }
.is-shine .cristal__estrelas path, .wallet__i:hover .cristal__estrelas path, .shop__i:hover .cristal__estrelas path{ animation:estrela 1.1s var(--ease-out); }
.cristal__estrelas .e2{ animation-delay:.12s !important; }
.cristal__estrelas .e3{ animation-delay:.24s !important; }
@keyframes cristalReflexo{ 0%{ opacity:0; } 30%{ opacity:1; } 100%{ opacity:0; } }
@keyframes estrela{ 0%{ opacity:0; transform:translate(4px,4px) scale(.2) rotate(0); } 40%{ opacity:1; transform:translate(-1px,-1px) scale(1.25) rotate(20deg); } 100%{ opacity:0; transform:translate(-4px,-5px) scale(.6) rotate(45deg); } }
.cristal__brilho{ display:none; }

/* vídeos pequenos ganham play menor */
.video-card{ container-type:inline-size; }
@container (max-width:340px){
  .video-card__play{ width:46px; height:46px; box-shadow:0 0 0 6px rgba(255,255,255,.14), 0 10px 24px rgba(var(--ac-rgb),.45); }
  .video-card__play svg{ width:18px; height:18px; }
  .video-card__meta{ font-size:12px; left:12px; right:12px; bottom:10px; }
}

/* e-mails: números maiores e centralizados */
.mstat{ text-align:center; padding:20px 16px; display:grid; gap:6px; justify-items:center; }
.mstat__l{ font-size:13.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--text-3); }
.mstat__n{ font-size:2.8rem; font-weight:700; line-height:1; letter-spacing:-.03em; }
.mstat__s{ font-size:13.5px; color:var(--text-2); letter-spacing:.01em; }

/* Assistente IA: oval de vidro com onda de cor, barra com luz e brilho na borda da tela */
.ia-fundo{ position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(ellipse 60% 45% at 50% 108%, rgba(231,1,56,.55), rgba(255,88,181,.32) 35%, rgba(4,18,236,.3) 58%, transparent 75%),
             radial-gradient(ellipse 40% 30% at 50% 100%, rgba(0,0,0,.6), transparent 70%);
  animation:respira 7s ease-in-out infinite alternate; }
@keyframes respira{ to{ transform:scale(1.08); opacity:.85; } }
.ia-meta{ position:absolute; top:calc(var(--top-h) + 14px); right:28px; display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--text-3); letter-spacing:.02em; }
.ai3{ min-height:calc(100vh - var(--top-h) - 150px); display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:26px; max-width:760px; margin:0 auto; padding-top:20px; }
.ai3 .chat{ width:100%; }
.ia-baixo{ width:100%; display:grid; gap:14px; justify-items:center; }
.ia-aviso{ text-align:center; }
.orbe{ position:relative; width:250px; height:250px; border-radius:50%; overflow:hidden; flex:none; margin:auto 0;
  background:radial-gradient(ellipse 80% 70% at 50% 40%, rgba(255,250,255,.96), rgba(244,236,255,.88) 55%, rgba(214,200,255,.7));
  box-shadow:0 0 90px rgba(255,88,181,.35), 0 0 160px rgba(4,18,236,.25);
  -webkit-mask:radial-gradient(ellipse 50% 50% at 50% 50%, #000 82%, transparent 100%); mask:radial-gradient(ellipse 50% 50% at 50% 50%, #000 82%, transparent 100%);
  transition:width .8s var(--ease-out), height .8s var(--ease-out), margin .8s var(--ease-out); animation:flutua 6s ease-in-out infinite; }
@keyframes flutua{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }
.orbe__onda{ position:absolute; left:-25%; top:30%; width:150%; height:38%; border-radius:50%; background:linear-gradient(90deg, #0412EC, #3a2bff 30%, #FF58B5 62%, #E70138); filter:blur(16px); opacity:.95; animation:onda 7s ease-in-out infinite alternate; }
.orbe__onda--2{ top:48%; height:30%; background:linear-gradient(90deg, #FF58B5, #E70138 45%, #0412EC); opacity:.65; animation-duration:9s; animation-direction:alternate-reverse; }
.orbe__brilho{ position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle at 34% 24%, rgba(255,255,255,.9), transparent 32%), radial-gradient(circle at 50% 50%, transparent 60%, rgba(120,90,255,.25) 100%); }
@keyframes onda{ 0%{ transform:rotate(-28deg) translateY(-14%); } 50%{ transform:rotate(12deg) translateY(10%); } 100%{ transform:rotate(-8deg) translateY(-4%) scaleY(1.2); } }
.orbe.is-thinking .orbe__onda{ animation-duration:1.6s; }
.ai3.has-chat .orbe{ width:110px; height:110px; margin:0; }
.ia-bar{ position:relative; width:100%; display:flex; align-items:center; gap:6px; height:66px; padding:0 8px 0 10px; border-radius:999px; background:rgba(12,10,18,.92); border:1px solid rgba(255,255,255,.14); isolation:isolate; }
.ia-bar::before{ content:""; position:absolute; inset:-1.5px; border-radius:inherit; padding:1.5px; background:linear-gradient(90deg, #FF58B5, #E70138 45%, #0412EC); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.ia-bar::after{ content:""; position:absolute; inset:-18px -40px; z-index:-1; border-radius:inherit; background:linear-gradient(90deg, rgba(255,88,181,.75), rgba(231,1,56,.6) 45%, rgba(4,18,236,.75)); filter:blur(42px); opacity:.6; animation:barLuz 4s ease-in-out infinite alternate; pointer-events:none; }
.ia-bar:focus-within::after{ opacity:.95; }
@keyframes barLuz{ to{ opacity:.85; transform:scaleX(1.05); } }
.ia-bar input{ flex:1; height:100%; background:none; border:0; outline:none; font-size:17px; padding:0 8px; }
.ia-bar input::placeholder{ color:var(--text-3); }
.ia-bar__ic{ width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:#fff; transition:background-color .2s; }
.ia-bar__ic:hover{ background:var(--surface-2); }
.ia-bar__send{ width:50px; height:50px; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(140deg, #FF58B5, #E70138 55%, #0412EC); box-shadow:0 6px 20px rgba(231,1,56,.45); transition:transform .3s var(--spring); }
.ia-bar__send:hover{ transform:scale(1.08); }
.ia-bar__send svg{ width:20px; height:20px; }
/* brilho na borda da tela, estilo Siri */
.siri{ position:fixed; inset:0; z-index:140; pointer-events:none; opacity:0; transition:opacity .6s var(--ease); }
.siri::before{ content:""; position:absolute; inset:0; padding:10px; background:conic-gradient(from var(--cta-a), #FF58B5, #E70138, #0412EC, #FEC5E8, #FF58B5); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; filter:blur(14px); animation:ctaSpin 3s linear infinite; }
.siri.is-on{ opacity:1; }

/* baú a partir da imagem de referência */
.bau{ position:relative; display:inline-block; width:var(--s); aspect-ratio:442/404; vertical-align:middle; filter:drop-shadow(0 14px 18px rgba(0,0,0,.45)); }
.bau__corpo, .bau__tampa{ position:absolute; inset:0; isolation:isolate; }
.bau img{ width:100%; height:100%; display:block; user-select:none; }
.bau__tinta{ position:absolute; inset:0; -webkit-mask:url(../assets/bau-madeira.png) center / 100% 100%; mask:url(../assets/bau-madeira.png) center / 100% 100%; mix-blend-mode:color; opacity:.92; }
.bau__corpo{ clip-path:inset(47% 0 0 0); }
.bau__tampa{ clip-path:inset(0 0 53% 0); transform-origin:50% 47%; transition:transform .7s var(--spring); }
.bau.is-open .bau__tampa{ transform:translateY(-9%) rotate(-10deg); }
.bau__luz{ position:absolute; left:50%; top:46%; width:120%; aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle, #FFF6D6, rgba(255,214,107,.6) 40%, transparent 70%); opacity:0; transition:opacity .5s; }
.bau.is-open .bau__luz{ opacity:1; }
.bau__gema{ position:absolute; left:50%; top:68%; width:15%; transform:translate(-50%,-50%); filter:drop-shadow(0 2px 3px rgba(0,0,0,.35)); }
.bau--lendario::after{ content:"✦"; position:absolute; right:2%; top:-4%; color:#fff; font-size:calc(var(--s) * .12); text-shadow:0 0 10px #fff; }
.baus__i.is-lock .bau{ filter:grayscale(1) brightness(.5); }

/* =========================================================
   Assistente IA v3: aura que vai até o fim, esfera transparente estilo Siri
   ========================================================= */
.ia-fundo{ animation:none;
  background:
    radial-gradient(ellipse 42% 75% at 0% 100%, rgba(231,1,56,.75), rgba(231,1,56,.25) 45%, transparent 72%),
    radial-gradient(ellipse 42% 75% at 100% 100%, rgba(4,18,236,.85), rgba(4,18,236,.3) 45%, transparent 72%),
    radial-gradient(ellipse 75% 38% at 50% 100%, rgba(255,88,181,.6), rgba(255,88,181,.15) 55%, transparent 80%),
    radial-gradient(ellipse 55% 55% at 50% 48%, rgba(5,4,10,.85), transparent 75%); }
.ia-fundo::after{ content:""; position:absolute; inset:0; background:radial-gradient(ellipse 50% 30% at 50% 100%, rgba(254,197,232,.35), transparent 70%); animation:respira 6s ease-in-out infinite alternate; }
.ia-meta{ position:fixed; top:auto; right:auto; left:24px; bottom:26px; z-index:61; padding:8px 12px; border-radius:999px; background:rgba(12,10,18,.6); border:1px solid var(--line); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }

/* esfera: vidro transparente com cores fluindo em onda */
.orbe{ --vel:1; width:240px; height:240px; background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.02) 40%, rgba(255,255,255,.07) 75%, rgba(255,255,255,.16) 100%);
  box-shadow:0 0 70px rgba(255,88,181,.3), 0 0 140px rgba(4,18,236,.25), inset 0 0 26px rgba(255,255,255,.14), inset 0 -24px 50px rgba(4,18,236,.25);
  -webkit-mask:none; mask:none; isolation:isolate; }
.orbe__onda, .orbe__brilho{ display:none; }
.orbe__cor{ position:absolute; border-radius:50%; filter:blur(22px); mix-blend-mode:screen; opacity:.9; animation:ondaSiri calc(7s / var(--vel)) ease-in-out infinite alternate; }
.orbe__cor--1{ width:120%; height:46%; left:-10%; top:22%; background:linear-gradient(90deg, #0412EC, #4a3bff 45%, #FF58B5); }
.orbe__cor--2{ width:110%; height:40%; left:-5%; top:44%; background:linear-gradient(90deg, #FF58B5, #E70138 60%, #BB051B); animation-duration:calc(9s / var(--vel)); animation-direction:alternate-reverse; }
.orbe__cor--3{ width:70%; height:60%; left:30%; top:10%; background:radial-gradient(circle, #8a2bff, transparent 70%); animation-duration:calc(6s / var(--vel)); }
.orbe__cor--4{ width:60%; height:50%; left:-5%; top:50%; background:radial-gradient(circle, #FF3D7F, transparent 70%); animation-duration:calc(8s / var(--vel)); animation-direction:alternate-reverse; }
.orbe__vidro{ position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle at 32% 22%, rgba(255,255,255,.55), rgba(255,255,255,.08) 18%, transparent 30%), radial-gradient(circle at 70% 85%, rgba(254,197,232,.18), transparent 35%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.18); }
@keyframes ondaSiri{
  0%{ transform:translate(-8%, -10%) rotate(-24deg) scaleY(.8); border-radius:50% 50% 45% 55%; }
  35%{ transform:translate(6%, 6%) rotate(10deg) scaleY(1.15); border-radius:40% 60% 55% 45%; }
  70%{ transform:translate(-4%, 12%) rotate(-6deg) scaleY(.9); border-radius:55% 45% 50% 50%; }
  100%{ transform:translate(8%, -6%) rotate(22deg) scaleY(1.1); border-radius:48% 52% 60% 40%; }
}
.orbe:hover, .orbe.is-thinking{ --vel:3; }
.orbe:hover .orbe__cor, .orbe.is-thinking .orbe__cor{ opacity:1; filter:blur(18px); }
.ai3.has-chat .orbe{ width:110px; height:110px; }

/* barra: as cores giram em volta quando passa o mouse */
.ia-bar::before{ background:conic-gradient(from var(--cta-a), #FF58B5, #E70138, #0412EC, #FEC5E8, #FF58B5); animation:ctaSpin 3s linear infinite; animation-play-state:paused; }
.ia-bar::after{ background:conic-gradient(from var(--cta-a), rgba(255,88,181,.8), rgba(231,1,56,.65), rgba(4,18,236,.8), rgba(254,197,232,.6), rgba(255,88,181,.8)); animation:ctaSpin 3s linear infinite; animation-play-state:paused; }
.ia-bar:hover::before, .ia-bar:hover::after, .ia-bar:focus-within::before, .ia-bar:focus-within::after{ animation-play-state:running; }
.ia-bar:hover::after, .ia-bar:focus-within::after{ opacity:.95; }
.ai3{ width:100%; }
.ia-bar::after{ inset:-18px -24px; }
@media (max-width:760px){
  .ia-meta{ left:16px; bottom:auto; top:calc(var(--top-h) + 8px); }
  .orbe{ width:200px; height:200px; }
}

/* =========================================================
   v2.3
   ========================================================= */
/* bola nova: branca no topo, rally com círculo vermelho parado */
.stat-pill--rally .ic{ color:#fff; filter:none; }
.rally__ball{ animation:none; background:var(--vermelho); box-shadow:0 10px 26px rgba(231,1,56,.4), inset 0 2px 0 rgba(255,255,255,.3); }
.rally__ball svg{ width:34px; height:34px; color:#fff; }
.bola-liga{ width:52px; height:52px; border-radius:50%; display:grid; place-items:center; background:var(--vermelho); color:#fff; flex:none; box-shadow:0 8px 20px rgba(231,1,56,.35); }
.bola-liga svg{ width:30px; height:30px; }

/* títulos: mais respiro entre as letras ("jornada" não vira "jomada") */
.h1{ letter-spacing:-.03em; }

/* dock: aura ao passar o mouse */
.dock__item::before{ content:""; position:absolute; inset:-6px; border-radius:18px; background:radial-gradient(circle, rgba(var(--ac2-rgb),.55), rgba(4,18,236,.25) 55%, transparent 72%); filter:blur(8px); opacity:0; transition:opacity .25s; z-index:-1; }
.dock__item:hover::before{ opacity:1; }
.dock__item{ isolation:isolate; }
.dock__item:hover{ color:#fff; background:rgba(255,255,255,.08); }

/* conquistas: sobe ao passar o mouse e reflexo mais lento e natural */
.conq__i{ transition:transform .45s var(--spring), box-shadow .3s; }
.conq__i:hover{ transform:translateY(-6px) scale(1.02); box-shadow:0 14px 30px rgba(0,0,0,.35); }
.conq__i.is-ok:hover{ box-shadow:0 0 0 1px rgba(255,212,138,.35), 0 16px 34px rgba(255,170,60,.18); }
.conq__i.is-ok::after{ width:60%; background:linear-gradient(100deg, transparent 0%, rgba(255,240,205,.08) 30%, rgba(255,245,220,.38) 50%, rgba(255,240,205,.08) 70%, transparent 100%); transform:skewX(-14deg); }
.conq__i.is-ok:hover::after{ animation:brilhoOuro 1.8s cubic-bezier(.4,0,.2,1) forwards; }

/* Minhas escolas: as 5 colunas cabem na tela */
.board{ grid-template-columns:repeat(5,minmax(205px,1fr)); gap:12px; }
.col{ padding:12px; }

/* baú: gemas acima da fechadura */
.bau__gema--meio{ left:50%; top:37%; width:13%; }
.bau__gema--esq{ left:11.5%; top:31%; width:9%; }
.bau__gema--dir{ left:88.5%; top:31%; width:9%; }

/* IA: barra com o anel de luz girando por trás, como o botão "Jogar o próximo ponto" */
.ia-cta{ position:relative; width:100%; padding:2.5px; border-radius:999px; isolation:isolate; }
.ia-cta .cta__ring, .ia-cta .cta__glow{ border-radius:999px; }
.ia-cta .cta__glow{ inset:-12px -18px; opacity:.55; }
.ia-cta:hover .cta__glow, .ia-cta:focus-within .cta__glow{ opacity:.85; }
.ia-bar{ border:0; background:#0E0C14; }
.ia-bar::before, .ia-bar::after{ display:none; }

/* esfera sem contorno: uma nuvem de cor no ar */
.orbe{ background:none; box-shadow:none; overflow:visible; width:280px; height:280px;
  -webkit-mask:radial-gradient(circle at 50% 50%, #000 30%, rgba(0,0,0,.6) 48%, transparent 68%); mask:radial-gradient(circle at 50% 50%, #000 30%, rgba(0,0,0,.6) 48%, transparent 68%); }
.orbe__vidro{ display:none; }
.orbe__cor{ filter:blur(28px); }
.orbe__cor--1{ width:110%; height:60%; left:-5%; top:18%; }
.orbe__cor--2{ width:100%; height:55%; left:0; top:38%; }
.ai3.has-chat .orbe{ width:130px; height:130px; }
.bau__gema--meio{ top:39%; width:11%; }

/* esfera em WebGL (adaptada do 21st.dev) */
.orbe--gl{ -webkit-mask:none; mask:none; animation:none; width:340px; height:340px; overflow:visible; }
.orbe--gl canvas{ display:block; }
.ai3.has-chat .orbe--gl{ width:150px; height:150px; }

/* bola menor, no tamanho dos ícones; círculo do rally redondinho */
.stat-pill--rally .ic{ width:18px; height:18px; }
.rally__ball{ width:46px; height:46px; flex:none; aspect-ratio:1; }
.rally__ball svg{ width:22px; height:22px; }
.bola-liga{ width:46px; height:46px; aspect-ratio:1; }
.bola-liga svg{ width:22px; height:22px; }
.tabs-line .ic-sm{ width:16px; height:16px; }
/* bola ainda menor */
.stat-pill--rally .ic{ width:14px; height:14px; }
.rally__ball{ width:40px; height:40px; }
.rally__ball svg, .bola-liga svg{ width:16px; height:16px; }
.bola-liga{ width:40px; height:40px; }
.tabs-line .ic-sm{ width:14px; height:14px; }
/* rally: círculo do tamanho da seta do "Jogar o próximo ponto", alinhado com "4 semanas" */
.rally__head{ align-items:flex-start; gap:18px; }
.rally__ball{ width:46px; height:46px; margin-top:-3px; }
.rally__ball svg{ width:14px; height:14px; }
.rally__ball{ margin-top:0; }
.rally__head .h2{ line-height:46px; }
/* bola dentro do círculo do rally um pouco maior */
.rally__ball svg{ width:20px; height:20px; }

/* 🏐 do "Boa noite": parado; mexe só quando passa o mouse */
.hello-wave{ animation:none; cursor:default; }
.hello-wave:hover{ animation:wave 1.2s ease-in-out; }

/* logo maior; ao passar o mouse a palavra ganha as cores da aura */
.top__logo{ display:flex; align-items:center; }
.logo-mask{ display:block; height:36px; aspect-ratio:1210 / 438; background:#fff;
  -webkit-mask:url(../assets/elleven-horizontal-branco.svg) center / contain no-repeat; mask:url(../assets/elleven-horizontal-branco.svg) center / contain no-repeat;
  transition:filter .4s var(--ease); }
.top__logo:hover .logo-mask{ background:linear-gradient(90deg, #FEC5E8, #FF58B5, #E70138, #0412EC, #FF58B5, #FEC5E8); background-size:300% 100%; animation:logoAura 3s linear infinite; filter:drop-shadow(0 0 10px rgba(255,88,181,.55)) drop-shadow(0 0 18px rgba(4,18,236,.35)); }
@keyframes logoAura{ to{ background-position:300% 0; } }
@media (max-width:760px){ .logo-mask{ height:30px; } }
/* 🏐: balanço lento e suave ao passar o mouse */
.hello-wave{ transform-origin:50% 60%; }
.hello-wave:hover{ animation:balancoSuave 2.6s cubic-bezier(.45,.05,.55,.95); }
@keyframes balancoSuave{ 0%,100%{ transform:rotate(0) translateY(0); } 25%{ transform:rotate(10deg) translateY(-2px); } 55%{ transform:rotate(-7deg) translateY(0); } 80%{ transform:rotate(3deg); } }
/* logo: troca de cores bem mais lenta e suave */
.top__logo:hover .logo-mask{ background-size:400% 100%; animation:logoAura 14s linear infinite; filter:drop-shadow(0 0 8px rgba(255,88,181,.4)) drop-shadow(0 0 16px rgba(4,18,236,.25)); }
@keyframes logoAura{ to{ background-position:400% 0; } }
.logo-mask{ transition:filter .8s var(--ease), background-color .8s var(--ease); }
