:root{
  --bg:#f4f8ff;
  --panel:#ffffff;
  --panel-2:#eef5ff;
  --gold:#0b73d9;
  --gold-2:#084f9d;
  --gold-dark:#8bbcff;
  --text:#10213a;
  --muted:#5f7391;
  --line:rgba(11,115,217,.28);
  --shadow:0 10px 30px rgba(11,115,217,.12);
}
*{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,#f8fbff,#edf5ff);
  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(255,255,255,.94); 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:#ffffff;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(255,255,255,.99),rgba(244,248,255,.99));
  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:#334a68}
.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:#ffffff;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:var(--text);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,#ffffff,#eef5ff);
  border-radius:18px;padding:13px 8px;color:var(--text);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:#ffffff;color:var(--text);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,#dbeeff,#ffffff)}
.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:var(--text);border:1px solid var(--gold);background:#ffffff;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:#dcecff}
.whatsapp{border-color:#22c55e;background:linear-gradient(135deg,#0b73d9,#084f9d)}
.register{background:linear-gradient(135deg,#ffffff,#dbeeff)}
@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,#0b73d9,#084f9d);color:var(--text);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:#ffffff}
.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:#ffffff;border:1px solid var(--gold);color:var(--text);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,#ffffff,#eef5ff);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:#ffffff;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:#ffffff;color:var(--text)}
.closed-share{border:0;background:linear-gradient(135deg,#0b73d9,#084f9d);color:#ffffff}
@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 claro azul e branco */
body{
  background:
    radial-gradient(circle at 50% -10%,rgba(11,115,217,.10),transparent 34%),
    linear-gradient(180deg,#f8fbff,#edf5ff);
  color:var(--text);
}
body:before{
  opacity:.35;
  background-image:
    linear-gradient(rgba(11,115,217,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,115,217,.035) 1px,transparent 1px);
}
.topbar{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid var(--line);
  box-shadow:0 6px 20px rgba(11,115,217,.08);
}
.card{
  background:
    linear-gradient(145deg,rgba(11,115,217,.07),transparent 28%),
    linear-gradient(180deg,#ffffff,#f6faff);
}
.hero p{color:#405674}
.date-btn,.mini-btn{
  background:#ffffff;
  color:var(--gold);
}
.input-wrap{
  background:#ffffff;
}
.input-wrap input{
  color:var(--text);
}
.group{
  background:linear-gradient(180deg,#ffffff,#eef5ff);
  color:var(--text);
}
.group.selected{
  background:linear-gradient(180deg,#dcecff,#ffffff);
}
.action{
  background:#ffffff;
  color:var(--text);
}
.action.primary{
  background:linear-gradient(135deg,#dcecff,#ffffff);
}
.whatsapp{
  border-color:#0b73d9;
  background:linear-gradient(135deg,#0b73d9,#084f9d);
  color:white;
}
.register{
  background:linear-gradient(135deg,#ffffff,#dcecff);
  color:var(--text);
}
.register small{color:#47617f}
.result-row strong{color:var(--text)}
.history-item{
  background:#ffffff;
}
.share-btn{
  background:linear-gradient(135deg,#0b73d9,#084f9d);
  color:white;
}
.toast{
  background:#ffffff;
  color:var(--text);
}
.closed-animal-card{
  background:linear-gradient(180deg,#ffffff,#eef5ff);
}
.closed-number{
  background:#ffffff;
  color:var(--gold);
}
.closed-copy{
  background:#ffffff;
  color:var(--gold);
}
.closed-share{
  background:linear-gradient(135deg,#0b73d9,#084f9d);
  color:white;
}
.notice{color:var(--muted)}
