:root{
  --bg:#050505;
  --panel:#0d0d0d;
  --panel-2:#171717;
  --gold:#d9d9d9;
  --gold-2:#9d9d9d;
  --gold-dark:#f4f4f4;
  --text:#f7f7f7;
  --muted:#ababab;
  --line:rgba(220,220,220,.28);
  --shadow:0 14px 38px rgba(255,255,255,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(circle at 50% -10%,rgba(22,140,255,.14),transparent 30%),
    linear-gradient(180deg,#050505,#000);
  color:var(--text);
  min-height:100vh;
}
body:before{
  content:""; position:fixed; inset:0; pointer-events:none; opacity:.25;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:32px 32px;
}
.topbar{
  max-width:1100px; margin:auto; padding:20px 24px;
  display:flex; justify-content:space-between; align-items:center;
  border-bottom:1px solid var(--line);
  position:sticky; top:0; z-index:20;
  background:rgba(3,3,3,.88); backdrop-filter:blur(14px);
}
.brand{display:flex;align-items:center;gap:14px}
.crown{
  width:58px;height:58px;border:1px solid var(--gold);border-radius:50%;
  display:grid;place-items:center;font-size:28px;color:var(--gold);box-shadow:var(--shadow)
}
.avatar{
  width:78px;height:78px;object-fit:cover;border-radius:50%;
  border:2px solid var(--gold);box-shadow:0 0 22px rgba(22,140,255,.45)
}
.brand h1{margin:0;font-size:clamp(1.25rem,4vw,2rem)}
.brand p{margin:3px 0 0;color:var(--gold);font-weight:800;letter-spacing:.12em}
.date-btn,.mini-btn{
  border:1px solid var(--gold-dark);background:#090806;color:var(--gold-2);
  border-radius:16px;padding:13px 16px;font-weight:800;font-size:1rem
}
main{max-width:1000px;margin:auto;padding:24px}
.card{
  background:
    linear-gradient(145deg,rgba(22,140,255,.10),transparent 28%),
    linear-gradient(180deg,rgba(16,14,8,.98),rgba(4,4,4,.98));
  border:1px solid var(--line); border-radius:28px; box-shadow:var(--shadow);
  margin-bottom:24px;
}
.hero{text-align:center;padding:48px 30px}
.eyebrow{color:var(--gold-2);font-weight:900;letter-spacing:.16em}
.hero h2{font-size:clamp(2rem,7vw,4.2rem);margin:16px 0 8px;line-height:1}
.hero h2 strong{
  color:var(--gold);
  text-shadow:0 0 24px rgba(22,140,255,.35)
}
.hero-line{display:flex;align-items:center;justify-content:center;gap:16px;max-width:560px;margin:22px auto}
.hero-line span{height:1px;background:linear-gradient(90deg,transparent,var(--gold));flex:1}
.hero-line span:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.hero-line b{font-size:34px;color:var(--gold)}
.hero p{font-size:clamp(1.1rem,3vw,1.65rem);max-width:700px;margin:auto;color:#eee6d8}
.hero em{font-style:normal;color:var(--gold)}
.generator,.results,.history{padding:28px}
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
.section-head h3{font-size:clamp(1.5rem,4vw,2.1rem);margin:8px 0 0}
.counter{
  min-width:92px;text-align:center;padding:12px;border:2px solid var(--gold);border-radius:17px;
  font-size:1.8rem;font-weight:900;color:var(--gold-2)
}
label{display:block;color:var(--gold);font-size:1.2rem;font-weight:800;margin-bottom:10px}
label small{color:var(--muted);font-weight:500}
.input-wrap{
  display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:18px;
  padding:0 16px;background:#050505;margin-bottom:24px
}
.input-wrap span{font-size:1.7rem;color:var(--gold)}
.input-wrap input{
  width:100%;padding:18px 0;background:transparent;border:0;outline:0;color:white;font-size:1.15rem;font-weight:700
}
.group-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.group{
  border:1px solid var(--line);background:linear-gradient(180deg,#0c0b07,#050505);
  border-radius:18px;padding:13px 8px;color:white;text-align:center;cursor:pointer;min-height:142px;
  transition:.2s transform,.2s box-shadow,.2s border-color
}
.group:hover{transform:translateY(-2px)}
.group.selected{
  border-color:var(--gold-2);box-shadow:0 0 20px rgba(22,140,255,.32);
  background:linear-gradient(180deg,rgba(22,140,255,.22),#050505)
}
.group .number{display:block;color:var(--gold);font-weight:900;font-size:1.2rem}
.group .animal{display:block;font-size:2.25rem;margin:8px 0}
.group .name{font-weight:700}
.main-actions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px;margin-top:24px}
.action{
  border:1px solid var(--gold);border-radius:17px;background:#080704;color:white;padding:15px;
  display:grid;grid-template-columns:auto 1fr;column-gap:10px;text-align:left;cursor:pointer
}
.action span{grid-row:1/3;font-size:1.75rem}
.action b{color:var(--gold-2);font-size:1rem}
.action small{color:var(--muted)}
.action.primary{background:linear-gradient(135deg,#082b55,#03101f)}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.blink-btn{
  position:relative;overflow:hidden;text-decoration:none;border-radius:18px;padding:18px;
  display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;
  color:white;border:1px solid var(--gold);background:#080704;box-shadow:var(--shadow)
}
.blink-btn:before{
  content:"";position:absolute;top:-40%;left:-35%;width:30%;height:180%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
  transform:rotate(18deg);animation:shine 2.1s infinite
}
.blink-btn span{grid-row:1/3;font-size:2rem}
.blink-btn b{font-size:1.08rem}
.blink-btn small{color:#e6dcc9}
.whatsapp{border-color:#22c55e;background:linear-gradient(135deg,#064e3b,#07140d)}
.register{background:linear-gradient(135deg,#0b3f7e,#061325)}
@keyframes shine{0%{left:-40%}60%,100%{left:125%}}
.hidden{display:none}
.result-row{
  display:grid;grid-template-columns:62px 1fr auto;gap:14px;align-items:center;
  padding:14px 4px;border-bottom:1px solid rgba(22,140,255,.18)
}
.result-row .badge{color:var(--gold);font-weight:900}
.result-row strong{font-size:1.4rem;letter-spacing:.08em}
.copy-one{border:0;background:transparent;color:var(--gold);font-size:1.2rem}
.share-btn{
  width:100%;margin-top:18px;border:1px solid var(--gold);border-radius:16px;padding:16px;
  background:linear-gradient(135deg,#0a376d,#04101e);color:white;font-weight:900;font-size:1rem
}
.history-list{display:grid;gap:12px}
.history-item{border:1px solid rgba(22,140,255,.22);border-radius:14px;padding:14px;background:#070603}
.history-item b{color:var(--gold)}
.empty{color:var(--muted)}
.notice{text-align:center;color:var(--muted);padding:8px 20px 35px}
.notice a{color:var(--gold)}
.toast{
  position:fixed;bottom:24px;left:50%;transform:translate(-50%,120px);
  background:#07152a;border:1px solid var(--gold);color:white;padding:13px 18px;border-radius:14px;
  transition:.25s;z-index:50
}
.toast.show{transform:translate(-50%,0)}
@media (max-width:760px){
  .topbar{padding:12px 10px}
  .crown{display:none}
  .avatar{width:54px;height:54px}
  .brand{gap:9px}
  .brand h1{font-size:1rem}
  .brand p{font-size:.7rem}
  .date-btn{padding:10px 11px}
  .date-btn span{display:none}
  main{padding:10px}
  .hero{padding:28px 14px}
  .generator,.results,.history{padding:17px 10px}
  .group-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  .group{
    min-height:92px;
    padding:7px 2px;
    border-radius:12px;
  }
  .group .number{font-size:.78rem}
  .group .animal{font-size:1.45rem;margin:5px 0}
  .group .name{
    font-size:.62rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .main-actions,.cta-grid{grid-template-columns:1fr}
  .section-head h3{font-size:1.35rem}
  .counter{min-width:72px;font-size:1.3rem;padding:9px}
}
@media (min-width:761px) and (max-width:980px){
  .group-grid{grid-template-columns:repeat(3,1fr)}
}
.closed-animal-card{border:1px solid var(--line);border-radius:24px;padding:20px;margin-bottom:22px;background:linear-gradient(180deg,rgba(18,14,5,.98),rgba(1,1,1,.98));box-shadow:var(--shadow)}
.closed-animal-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.closed-animal-emoji{font-size:3.2rem}
.closed-animal-number{display:block;color:var(--gold);font-weight:900;font-size:1.15rem}
.closed-animal-head h4{margin:2px 0 4px;color:var(--gold-2);font-size:1.9rem;text-transform:uppercase}
.closed-animal-head p{margin:0;color:var(--muted);font-size:1.1rem;letter-spacing:.12em}
.closed-number-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.closed-number{min-height:58px;border:1px solid var(--gold-dark);border-radius:18px;background:#050505;color:var(--gold-2);font-size:1.25rem;letter-spacing:.08em;cursor:pointer}
.closed-number:active{transform:scale(.98)}
.closed-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.closed-copy,.closed-share{min-height:58px;border-radius:18px;font-size:1rem;font-weight:900;cursor:pointer}
.closed-copy{border:1px solid var(--gold);background:#050505;color:white}
.closed-share{border:0;background:linear-gradient(135deg,#f6d365,#d89b13);color:#071006}
@media(max-width:520px){
  .closed-animal-card{padding:14px 10px}
  .closed-number-grid{gap:8px}
  .closed-number{min-height:50px;border-radius:14px;font-size:1rem;padding:4px}
  .closed-animal-emoji{font-size:2.5rem}
  .closed-animal-head h4{font-size:1.45rem}
  .closed-actions{gap:9px}
}






/* Tema Palpites do Barbudinho — preto e prata */
body{
  background:
    radial-gradient(circle at 50% -12%,rgba(255,255,255,.10),transparent 34%),
    linear-gradient(180deg,#020202,#090909 55%,#020202);
  color:var(--text);
}
body:before{
  opacity:.4;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
}
.topbar{
  background:rgba(5,5,5,.95);
  border-bottom:1px solid var(--line);
  box-shadow:0 6px 24px rgba(255,255,255,.05);
}
.card{
  background:
    linear-gradient(145deg,rgba(255,255,255,.06),transparent 28%),
    linear-gradient(180deg,#111,#080808);
  border-color:var(--line);
}
.hero p{color:#bdbdbd}
.date-btn,.mini-btn,.input-wrap,.action,.history-item,.toast,.closed-copy,.closed-number{
  background:#111;
  color:var(--text);
  border-color:var(--line);
}
.input-wrap input{color:var(--text)}
.group,.closed-animal-card{
  background:linear-gradient(180deg,#181818,#0d0d0d);
  color:var(--text);
  border-color:var(--line);
}
.group.selected,.action.primary,.register{
  background:linear-gradient(135deg,#efefef,#9c9c9c);
  color:#080808;
  border-color:#e5e5e5;
}
.whatsapp,.share-btn,.closed-share{
  background:linear-gradient(135deg,#f1f1f1,#9a9a9a);
  color:#050505;
  border-color:#e5e5e5;
}
.result-row strong{color:var(--text)}
.register small{color:#252525}
.notice{color:var(--muted)}
.cta-grid{align-items:stretch}
.cta-grid .blink-btn{
  min-height:86px;
  height:100%;
  padding:15px;
  border-radius:17px;
  box-sizing:border-box;
}
.cta-grid .blink-btn span{font-size:1.75rem}
.cta-grid .blink-btn b{font-size:1rem}


/* Botão GERAR PALPITES em preto */
#generateBtn,
#gerarPalpites,
button[data-action="generate"],
.action.primary,
.generate-btn,
.btn-generate {
  background: linear-gradient(180deg, #161616 0%, #000000 100%) !important;
  color: #ffffff !important;
  border: 1px solid #777777 !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.12) !important;
}

#generateBtn:hover,
#gerarPalpites:hover,
button[data-action="generate"]:hover,
.action.primary:hover,
.generate-btn:hover,
.btn-generate:hover {
  background: linear-gradient(180deg, #252525 0%, #050505 100%) !important;
  border-color: #bdbdbd !important;
}

.register,.whatsapp{
background:linear-gradient(180deg,#1a1a1a,#000)!important;
color:#fff!important;
border:1px solid #7a7a7a!important;
box-shadow:0 6px 18px rgba(0,0,0,.45)!important;
}
.register small{color:#d9d9d9!important;}
