:root{
  --bg:#020402;
  --green:#35a900;
  --green-strong:#41c400;
  --green-soft:#bce8a3;
  --text:#fff;
  --muted:#c3c3bd;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{
  min-height:100svh;
  color:var(--text);
  font-family:Inter,Arial,Helvetica,sans-serif;
  background:
    radial-gradient(circle at 50% 25%,rgba(48,132,3,.10),transparent 28%),
    linear-gradient(180deg,#020402,#000 76%);
  overflow-x:hidden;
}
body::before,
body::after{
  content:"";
  position:fixed;
  left:50%;
  z-index:0;
  width:min(96vw,620px);
  pointer-events:none;
  transform:translateX(-50%);
  border:6px solid rgba(47,150,0,.12);
}
body::before{top:82px;height:660px;border-radius:50%}
body::after{
  top:250px;
  height:760px;
  border-top:0;
  border-radius:0 0 50% 50%;
  transform:translateX(-50%) rotate(7deg);
}
.page{
  position:relative;
  z-index:1;
  width:100%;
  max-width:540px;
  min-height:100svh;
  margin:0 auto;
  padding:max(6px,env(safe-area-inset-top)) 22px max(34px,env(safe-area-inset-bottom));
}
.content{padding-top:0}
.main-brand{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:5px;
  margin-bottom:6px;
  transform:rotate(-2deg);
  filter:drop-shadow(0 3px 2px #000);
}
.main-brand .brand-logo{
  display:block;
  width:min(270px,76vw);
  height:auto;
  object-fit:contain;
}
h1{
  color:var(--green-strong);
  text-align:center;
  font-size:clamp(1.85rem,8vw,2.6rem);
  line-height:1.05;
  font-weight:900;
  text-transform:uppercase;
}
.event-picker{
  margin-top:10px;
}
.event-picker select{
  width:100%;
  min-height:46px;
  padding:10px 14px;
  border:1px solid rgba(68,191,9,.72);
  border-radius:12px;
  color:#fff;
  background:#303030;
  font-size:.92rem;
  outline:none;
}
.event-picker select:focus{
  border-color:var(--green-strong);
  box-shadow:0 0 0 3px rgba(65,196,0,.18);
}
.results-list{
  display:grid;
  gap:14px;
  margin-top:16px;
}
.round-card,
.result-card{
  padding:16px 16px 14px;
  border:1px solid rgba(65,196,0,.24);
  border-radius:15px;
  background:linear-gradient(180deg,rgba(24,28,24,.98),rgba(10,12,10,.98));
  box-shadow:0 12px 28px rgba(0,0,0,.34);
}
.round-header h2,
.result-card-header h2{
  color:#fff;
  font-size:1.12rem;
  text-align:center;
}
.round-header p,
.result-card-header p{
  margin-top:6px;
  color:var(--muted);
  font-size:.76rem;
  text-align:center;
}
.round-numbers-section{
  margin-top:14px;
}
.round-numbers-section h3{
  color:var(--green-soft);
  font-size:.78rem;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.round-numbers{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
  justify-content:center;
  min-height:54px;
}
.round-numbers .number{
  width:46px;
  height:46px;
  flex:0 0 46px;
}
.round-prizes{
  display:grid;
  gap:0;
  margin-top:16px;
}
.prize-card{
  padding:12px 0 0;
  border:0;
  background:transparent;
}
.prize-card + .prize-card{
  margin-top:12px;
  padding-top:12px;
  border-top:2px solid rgba(255,255,255,.36);
}
.prize-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.prize-header-copy{
  display:grid;
  gap:4px;
}
.prize-header h3{
  color:#fff;
  font-size:.98rem;
  text-align:left;
}
.prize-quantity{
  color:var(--muted);
  font-size:.7rem;
}
.prize-header strong{
  color:var(--green-strong);
  font-size:1rem;
  white-space:nowrap;
}
.prize-rules{
  margin-top:6px;
  color:var(--muted);
  font-size:.74rem;
}
.prize-winners{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
  justify-content:stretch;
}
.round-numbers .number b,
.result-numbers .number b{
  font-size:1rem;
}
.winner-card{
  width:100%;
  padding:10px 11px;
  border-radius:10px;
  background:#252925;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
}
.winner-card strong{
  display:block;
  color:var(--green-soft);
  font-size:.95rem;
}
.winner-info{
  display:grid;
  gap:8px;
  align-content:start;
  text-align:left;
}
.winner-meta{
  margin-top:4px;
  color:#fff;
  font-size:.78rem;
  display:grid;
  gap:4px;
}
.winner-meta span{
  display:block;
  color:#fff;
}
.winner-amount{
  color:var(--green-soft);
  font-weight:900;
  font-size:.86rem;
}
.cartela-preview{
  justify-self:end;
  width:100%;
  max-width:162px;
  padding:4px;
  border-radius:12px;
  background:#171a17;
  border:1px solid rgba(255,255,255,.06);
}
.cartela-preview .result-empty{
  padding:0;
  background:transparent;
}
.cartela-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1px;
}
.board-number{
  aspect-ratio:1;
  display:grid;
  place-items:center;
  min-width:0;
  border-radius:4px;
  font-size:clamp(.3rem,1.1vw,.52rem);
  font-weight:900;
}
.board-number{
  color:#77808a;
  background:#ffffff0a;
  border:1px solid #ffffff0b;
}
.board-number.drawn{
  color:var(--green-soft);
  border-color:rgba(188,232,163,.45);
  background:rgba(53,169,0,.12);
  box-shadow:inset 0 0 14px rgba(188,232,163,.12);
  transform:scale(1.01);
  font-size:clamp(.36rem,1.2vw,.58rem);
}
.board-number.latest{
  color:#d4af37;
  border-color:rgba(212,175,55,.78);
  background:rgba(212,175,55,.14);
  outline:2px solid rgba(212,175,55,.45);
  outline-offset:1px;
  transform:scale(1.04);
  font-size:clamp(.42rem,1.35vw,.64rem);
  box-shadow:inset 0 0 16px rgba(212,175,55,.12),0 0 14px rgba(212,175,55,.12);
}
.board-free{
  color:var(--green-soft);
  background:rgba(65,196,0,.09);
  border-color:rgba(65,196,0,.2);
}
.result-empty{
  width:100%;
  padding:12px;
  color:var(--muted);
  text-align:center;
  font-size:.82rem;
}
.site-footer{
  width:min(100% - 32px, 760px);
  margin:28px auto 14px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.62);
  font-size:11px;
  line-height:1.4;
  text-align:center;
}
.site-footer strong{
  color:rgba(255,255,255,.86);
  font-size:11px;
  letter-spacing:.25px;
}
@media(min-width:560px){
  .page{padding-inline:30px}
  .content{padding-top:0}
  .winner-card{
    grid-template-columns:minmax(0,1fr) auto;
  }
}
@media(min-width:900px){
  .page{max-width:600px}
}
@media(max-width:559px){
  .cartela-preview{
    max-width:132px;
  }
  .cartela-grid{
    gap:1px;
  }
  .board-number{
    border-radius:3px;
    font-size:.34rem;
  }
  .board-number.drawn{
    font-size:.4rem;
  }
  .board-number.latest{
    font-size:.46rem;
  }
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}
