/* Ranking de Views TCA — mesma identidade do site TCA for Apps:
   fundo escuro quente com grade, títulos em Sora, texto em DM Sans, rótulos em JetBrains Mono,
   dourado + bordô + creme, seções "papel" creme com cards de borda escura. Tema único (escuro) por escolha. */
:root{
  color-scheme:dark;
  --dark:#140e0c; --dark-2:#211715; --dark-3:#2c1f1c; --line:#3a2a26;
  --cream:#f7f3ec; --cream-2:#efe6d8; --paper:#fbf8f3; --soft:#e9dfd3; --ink:#1a1210;
  --gold:#c49b59; --gold-hi:#e3c78f; --gold-deep:#97712f;
  --burgundy:#5c1a2b; --bordeaux:#5c1a2b; --burg-hi:#7e2a3f; --rose:#e08a9c;
  --muted-d:#b6a59a; --muted-l:#6b5b55; --live:#2e9e5b;
  --silver:#b9bdc4; --bronze:#b87a4b; --ok:#2e7d57; --warn:#a8601a; --bad:#a3283f;
  --display:"Sora","Helvetica Neue",Arial,sans-serif;
  --body:"DM Sans","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--dark);color:var(--cream);font-family:var(--body);font-size:16px;line-height:1.5;
  background-image:linear-gradient(rgba(247,243,236,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(247,243,236,.035) 1px,transparent 1px);
  background-size:48px 48px}
.wrap{max-width:1080px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:18px 64px;display:flex;flex-direction:column;gap:22px}
h1,h2,h3{font-family:var(--display);font-weight:600;margin:0;text-wrap:balance}
h2{font-size:clamp(30px,5.4vw,46px);line-height:1.02;letter-spacing:-.03em}
h2 em{font-style:normal;color:var(--burgundy)}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700;display:inline-flex;align-items:center;gap:8px}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.muted{color:var(--muted-l);font-size:14px}
a{color:var(--burgundy)}
button,input,select{font:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ---------- TOPO ---------- */
.hero{position:relative;padding:4px 0 0;overflow:visible}
.hero-top{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
.brandrow{align-self:stretch;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:10px}
.brand{align-self:flex-start;display:flex;align-items:center;gap:12px;text-align:left}
.logo{display:block;width:44px;height:auto;flex:none;border-radius:50%;box-shadow:0 0 0 2px var(--gold)}
.brandtxt{display:flex;flex-direction:column;line-height:1.1}
.brandtxt b{font-family:var(--display);font-weight:600;font-size:17px;color:var(--cream);letter-spacing:-.01em}
.brandtxt i{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.4em;color:var(--gold);margin-top:4px;text-transform:uppercase}
.auth .brand{padding-bottom:14px;border-bottom:1px solid var(--line);align-self:stretch}
.hero h1{font-size:clamp(48px,11vw,104px);line-height:.95;letter-spacing:-.045em;color:var(--cream);margin-top:14px}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero h1 .outline{color:transparent;-webkit-text-stroke:2px var(--cream)}
.sticker{display:inline-block;margin-top:14px;font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.02em;text-transform:uppercase;background:var(--rose);color:var(--ink);padding:7px 14px;border-radius:999px;transform:rotate(-4deg);box-shadow:0 6px 0 rgba(0,0,0,.35)}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.chip{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);background:var(--dark-2);border-radius:999px;padding:7px 14px;white-space:nowrap;color:var(--muted-d)}
.chip b{color:var(--gold)}
.chip.demo::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--live);margin-right:8px;vertical-align:1px}
.sair{border:1px solid var(--line);background:transparent;color:var(--muted-d);border-radius:999px;padding:7px 14px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}

/* pódio em cards de celular */
.podium{position:relative;display:grid;grid-template-columns:1fr 1.18fr 1fr;align-items:end;gap:12px;margin:30px auto 0;width:100%;max-width:600px}
.pod{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;min-width:0;padding:22px 10px 14px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(170deg,var(--dark-3),var(--dark-2))}
.pod.p1{background:linear-gradient(170deg,#3b2a14,#6a4d22 60%,var(--gold-deep));border-color:var(--gold);padding-top:30px;box-shadow:0 20px 40px -18px rgba(196,155,89,.55)}
.pod.p2{transform:rotate(-3deg)}
.pod.p3{transform:rotate(3deg)}
.pod .name{font-family:var(--display);font-weight:600;font-size:15px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cream)}
.pod .pv{font-family:var(--mono);font-weight:700;font-size:14px;color:var(--gold-hi)}
.pod.p1 .pv{color:var(--cream)}
.ava-wrap{position:relative;display:grid;place-items:center}
.crown{position:absolute;top:-30px;width:46px;height:34px;filter:drop-shadow(0 4px 10px rgba(227,199,143,.5));z-index:2}
.p1 .crown{animation:float 3.2s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-4px) rotate(-2deg)}}
.ring{border-radius:50%;padding:3px;background:var(--gold)}
.p1 .ring{background:conic-gradient(var(--gold-hi),var(--gold-deep),var(--gold-hi),var(--gold),var(--gold-hi))}
.p2 .ring{background:var(--silver)}
.p3 .ring{background:var(--bronze)}
.step{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-d);padding:3px 10px;border:1px solid var(--line);border-radius:999px;margin-top:4px}
.step::after{content:"º lugar"}
.p1 .step{background:var(--ink);color:var(--gold);border-color:var(--ink)}
.shine{color:var(--gold)}
.hero .shine,.pod .shine{color:var(--cream)}

.ava{border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:600;color:var(--cream);overflow:hidden;flex:none;border:2px solid var(--dark)}
.ava img{width:100%;height:100%;object-fit:cover}

/* ---------- NÚMEROS ---------- */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stat{background:var(--dark-2);border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.stat b{font-family:var(--display);font-weight:600;font-size:clamp(26px,5vw,44px);line-height:1;letter-spacing:-.03em;color:var(--gold);font-variant-numeric:tabular-nums}
.stat span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-d)}

/* ---------- ABAS ---------- */
nav{display:flex;justify-content:center;gap:4px;width:100%;max-width:680px;margin:0 auto;overflow-x:auto;padding:5px;border:1px solid var(--line);border-radius:999px;background:rgba(33,23,21,.92);position:sticky;top:env(safe-area-inset-top,0px);z-index:5;backdrop-filter:blur(10px)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--dark)}
nav a{flex:1;text-align:center;padding:10px 14px;border-radius:999px;color:var(--muted-d);text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
nav a[aria-current="page"]{background:var(--gold);color:var(--ink)}
.badge{font-family:var(--mono);font-size:11px;background:var(--rose);color:var(--ink);border-radius:999px;padding:1px 7px;margin-left:6px}

.aviso{background:var(--dark-2);border:1px solid var(--gold);border-radius:18px;padding:14px 18px;font-size:15px;color:var(--cream-2)}
.aviso b{color:var(--gold)}
.aviso a{color:var(--gold-hi)}

/* ---------- ÁREA "PAPEL" ---------- */
.paper{background:var(--paper);color:var(--ink);border-radius:30px;padding:clamp(18px,4vw,36px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.panel{display:flex;flex-direction:column;gap:18px}
.head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:12px}
.rules{display:flex;flex-wrap:wrap;gap:8px}
.rule{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted-l);border:1px solid var(--soft);background:#fff;border-radius:999px;padding:6px 12px}
.rule b{color:var(--burgundy)}
.paper .muted{color:var(--muted-l)}
.mesesel{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
select,input{color:var(--ink);background:#fff;border:1.5px solid var(--soft);border-radius:12px;padding:11px 13px;min-width:0}
.paper select,.paper input{border-color:#d9ccbb}

/* ranking em cards no estilo "Meet our creators" */
.rank{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.rank li{background:#fff;border:2px solid var(--ink);border-radius:20px;overflow:hidden}
.rank li.first{background:linear-gradient(90deg,#f6ead2,#fff 60%);border-color:var(--gold-deep);box-shadow:4px 4px 0 var(--gold)}
.line{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:grid;grid-template-columns:40px auto 1fr auto;gap:14px;align-items:center;padding:14px 16px}
.line:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.pos{font-family:var(--display);font-weight:700;font-size:26px;color:var(--muted-l);text-align:center;letter-spacing:-.04em}
.pos.top{color:var(--burgundy)}
.rank .ava{border-color:#fff;box-shadow:0 0 0 2px var(--gold)}
.who{min-width:0;display:flex;flex-direction:column;gap:5px}
.who strong{font-family:var(--display);font-weight:600;font-size:18px;display:flex;align-items:center;gap:6px;color:var(--ink);letter-spacing:-.01em}
.who strong svg{width:18px;height:14px;flex:none}
.who small{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-l)}
.bar{height:6px;background:var(--cream-2);border-radius:4px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--burgundy);border-radius:4px}
.first .bar i{background:var(--gold)}
.chase{font-size:13px;color:var(--burg-hi);font-weight:700}
.views{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700;text-align:right;color:var(--ink);display:inline-flex;align-items:center;gap:7px;justify-content:flex-end}
.rank .views::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--live)}
.detail{padding:0 16px 16px;display:grid;gap:6px}
.acc{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:14px;padding:10px 12px;background:var(--paper);border:1px solid var(--soft);border-radius:12px;color:var(--ink)}
.acc>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acc .views{font-size:13px}
.acc .views::before{display:none}
.plat{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:var(--ink);color:var(--gold);font-weight:700}

/* ---------- VIRAIS (cards de celular) ---------- */
.reel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,210px);gap:14px;overflow-x:auto;padding:6px 2px 12px;scroll-snap-type:x mandatory}
.vid{scroll-snap-align:start;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit}
.thumb{position:relative;aspect-ratio:9/16;max-width:100%;border-radius:26px;overflow:hidden;border:6px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between;padding:14px 12px;color:var(--cream);box-shadow:0 16px 30px -16px rgba(0,0,0,.5)}
.thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),transparent 35%,rgba(20,14,12,.75));pointer-events:none}
.vid:first-child .thumb{border-color:var(--gold)}
.thumb>*{position:relative;z-index:1}
.thumb img.capa{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.vnum{font-family:var(--display);font-weight:700;font-size:48px;line-height:.8;color:var(--cream);letter-spacing:-.05em}
.vid:first-child .vnum{color:var(--gold)}
.hook{font-family:var(--display);font-weight:600;font-size:14px;line-height:1.25;background:#fff;color:var(--ink);padding:5px 8px;border-radius:6px;align-self:flex-start;text-align:left}
.vfoot{display:flex;justify-content:space-between;align-items:center;gap:6px}
.vviews{font-family:var(--mono);font-weight:700;font-size:15px}
.vmeta{display:flex;align-items:center;gap:8px;min-width:0}
.vmeta div{min-width:0;display:flex;flex-direction:column}
.vmeta strong{font-family:var(--display);font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.vmeta span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-l)}
.tip{border:2px dashed #d9ccbb;border-radius:18px;padding:14px 16px;font-size:14px;color:var(--muted-l);background:#fff}
.tip b{color:var(--burgundy)}

/* ---------- MINHA ÁREA ---------- */
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.card{background:#fff;border:2px solid var(--ink);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0;color:var(--ink)}
.card h3{font-size:24px;letter-spacing:-.02em;color:var(--ink)}
.paper .eyebrow{color:var(--burgundy)}
.big{font-family:var(--display);font-weight:700;font-size:clamp(52px,10vw,76px);line-height:.9;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.paper .shine{color:var(--burgundy)}
.weeks{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:end;height:120px}
.wk{display:flex;flex-direction:column;align-items:center;gap:4px;justify-content:flex-end;height:100%}
.wk i{width:100%;max-width:40px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--gold),var(--burgundy));min-height:4px}
.wk i.future{background:var(--cream-2)}
.wk small{font-family:var(--mono);font-size:10px;color:var(--muted-l)}
form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}
label{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-l);font-weight:700}
label input,label select{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:15px;font-weight:400}
.full{grid-column:1/-1}
.btn{border:0;border-radius:999px;padding:13px 22px;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:var(--gold);color:var(--ink)}
.btn.dark{background:var(--ink);color:var(--cream)}
.photo{display:flex;align-items:center;gap:14px}
.photo input[type=file]{position:absolute;opacity:0;width:1px;height:1px}
.photo label.btn{display:inline-block;color:var(--ink);font-family:var(--body);font-size:12px}
.paper .ava{border-color:#fff;box-shadow:0 0 0 2px var(--gold)}
.status{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap}
.s-ok{background:#e0f1e7;color:var(--ok)}
.s-wait{background:#f7e8d3;color:var(--warn)}
.toast{font-size:14px;color:var(--ok);min-height:20px}

/* ---------- APROVAÇÕES ---------- */
.section-title{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:-.02em;color:var(--ink);margin:8px 0 0}
.pend{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 16px;border-top:1px solid var(--soft)}
.pend:first-child{border-top:0}
.pend .meta{min-width:0;display:flex;flex-direction:column;gap:3px;font-size:14px}
.pend .meta strong{font-family:var(--display);font-weight:600}
.pend .meta a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acts{display:flex;gap:6px}
.btn-ok{border:0;border-radius:999px;padding:9px 15px;font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:var(--ink);color:var(--cream)}
.btn-no{border:1.5px solid var(--ink);border-radius:999px;padding:8px 14px;font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:transparent;color:var(--ink)}
.empty{padding:22px;text-align:center;color:var(--muted-l)}

/* ---------- LOGIN ---------- */
.auth{max-width:480px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:16px}
.auth .hero h1{font-size:clamp(46px,13vw,76px)}
.tabs{display:flex;gap:4px;padding:5px;border:1px solid var(--line);border-radius:999px;background:var(--dark-2)}
.tabs button{flex:1;border:0;background:transparent;border-radius:999px;padding:10px;font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-d);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--gold);color:var(--ink)}
.auth form{display:flex;flex-direction:column;align-items:stretch;background:var(--paper);border:0;color:var(--ink)}
.auth form .btn{align-self:stretch}
.auth .section-title{color:var(--burgundy)}
.auth .muted{color:var(--muted-l)}
.check{flex-direction:row;align-items:flex-start;gap:10px;font-family:var(--body);text-transform:none;letter-spacing:0;font-size:13px;font-weight:400;color:var(--ink)}
.check input{margin-top:3px;flex:none}
.erro{color:var(--bad);font-size:14px;min-height:18px}
.linkbtn{border:0;background:none;color:var(--burgundy);text-decoration:underline;cursor:pointer;padding:0;font-size:14px;align-self:center}

@media (max-width:560px){
  .stats{grid-template-columns:1fr 1fr 1fr;gap:6px}
  .stat{padding:12px 10px}
  .line{grid-template-columns:22px auto 1fr;gap:10px;padding:12px}
  .line>.views{grid-column:3;justify-content:flex-start;font-size:15px;margin-top:-4px}
  .pos{font-size:20px}
  .who strong{font-size:16px}
  .rules .rule{font-size:10px}
  .pend{grid-template-columns:auto 1fr}.acts{grid-column:1/-1}
  .pod{padding-inline:6px}
  .pod.p2,.pod.p3{transform:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
