:root{
  --bg:#020402;
  --green:#35a900;
  --green-strong:#41c400;
  --green-soft:#bce8a3;
  --text:#fff;
  --muted:#c3c3bd;
  --panel:#1b1b1b;
  --line:#b8b8b1;
}
*{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(18px,env(safe-area-inset-top)) 22px max(34px,env(safe-area-inset-bottom));
}
.topbar{
  height:52px;
  display:grid;
  grid-template-columns:44px 1fr 44px;
  align-items:center;
}
.back{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  color:#fff;
  background:transparent;
  font-size:2rem;
  line-height:1;
  text-decoration:none;
  touch-action:manipulation;
}
.back:active{background:rgba(255,255,255,.1)}
.back:focus-visible{outline:3px solid var(--green-strong);outline-offset:2px}
.mini-brand{
  justify-self:start;
  display:flex;
  align-items:center;
  gap:3px;
  transform:scale(.62) rotate(-2deg);
  transform-origin:left center;
  filter:drop-shadow(0 2px 1px #000);
}
.brand-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  font-weight:1000;
  line-height:.78;
  letter-spacing:-1px;
  text-transform:uppercase;
  text-shadow:-2px -2px 0 #111,2px -2px 0 #111,-2px 2px 0 #111,2px 2px 0 #111;
}
.brand-copy strong{font-size:1.05rem;color:#fff}
.brand-copy span{font-size:.98rem;color:var(--green-strong)}
.panda{
  width:34px;
  height:34px;
  position:relative;
  display:grid;
  place-items:center;
  border:3px solid #111;
  border-radius:50%;
  color:#111;
  background:#fff;
  font-size:1.3rem;
  font-weight:900;
}
.panda::before,.panda::after{
  content:"";
  position:absolute;
  top:-7px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#111;
  z-index:-1;
}
.panda::before{left:0}.panda::after{right:0}
.content{padding-top:38px}
.main-brand{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:5px;
  margin-bottom:42px;
  transform:rotate(-2deg);
  filter:drop-shadow(0 3px 2px #000);
}
.main-brand .brand-copy strong{font-size:1.3rem}
.main-brand .brand-copy span{font-size:1.2rem}
.main-brand .panda{width:42px;height:42px;font-size:1.65rem}
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;
}
.subtitle{
  margin-top:12px;
  color:var(--muted);
  text-align:center;
  font-size:1rem;
  font-weight:600;
}
.form-card{
  margin-top:32px;
  padding:21px 22px 23px;
  border-radius:12px;
  background:rgba(28,28,28,.96);
  box-shadow:0 12px 30px rgba(0,0,0,.34);
}
.field{
  min-height:62px;
  display:grid;
  grid-template-columns:32px 1fr;
  align-items:center;
  gap:11px;
  border-bottom:1px solid rgba(220,220,214,.78);
}
.field + .field{margin-top:1px}
.field-icon{
  color:#d0d3ca;
  font-size:1.35rem;
  text-align:center;
  line-height:1;
}
.field input{
  width:100%;
  height:61px;
  border:0;
  outline:0;
  color:#fff;
  background:transparent;
  font:600 1rem/1.2 Inter,Arial,sans-serif;
  caret-color:var(--green-strong);
}
.field select{
  width:100%;
  height:61px;
  border:0;
  outline:0;
  color:#fff;
  background:transparent;
  font:600 1rem/1.2 Inter,Arial,sans-serif;
  caret-color:var(--green-strong);
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:10px;
}
.field select option{color:#111}
.field select:invalid{color:#c9cbc4}
.field input::placeholder{color:#c9cbc4;opacity:1}
.field:focus-within{border-bottom-color:var(--green-strong)}
.submit{
  width:100%;
  min-height:45px;
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:0;
  border-radius:999px;
  color:#101410;
  background:linear-gradient(180deg,#bee5a5,#a6d58a);
  font-size:.92rem;
  font-weight:700;
  text-transform:uppercase;
  cursor:pointer;
  touch-action:manipulation;
}
.submit:active{transform:scale(.985)}
.submit:focus-visible{outline:3px solid #fff;outline-offset:3px}
.search-icon{font-size:1.15rem;line-height:1}
.feedback{
  min-height:22px;
  margin-top:13px;
  color:#d8d8d3;
  text-align:center;
  font-size:.85rem;
}
@media(min-width:560px){
  .page{padding-inline:30px}
  .content{padding-top:44px}
  .form-card{padding:24px 28px 26px}
}
@media(min-width:900px){
  .page{max-width:600px}
  .submit:hover{filter:brightness(1.06)}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}

/* Logo oficial Panda Sorte */
.main-brand{transform:none}
.main-brand .brand-logo{display:block;width:min(270px,76vw);height:auto;object-fit:contain}

.lookup-results{
  margin-top:18px;
}

.lookup-card{
  padding:16px;
  border-radius:14px;
  background:rgba(28,28,28,.96);
  box-shadow:0 12px 30px rgba(0,0,0,.34);
}

.lookup-card-header h2{
  color:#fff;
  font-size:1.05rem;
  text-align:center;
}

.lookup-card-header p{
  margin-top:6px;
  color:var(--muted);
  font-size:.76rem;
  text-align:center;
}

.lookup-purchases{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.lookup-purchase{
  padding:12px;
  border:1px solid rgba(65,196,0,.18);
  border-radius:12px;
  background:#252925;
  display:grid;
  gap:4px;
  text-align:left;
}

.lookup-purchase strong{
  color:#fff;
  font-size:.96rem;
}

.lookup-purchase span{
  color:var(--muted);
  font-size:.76rem;
}

.lookup-purchase b{
  color:var(--green-strong);
  font-size:1rem;
}

.lookup-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:5px 10px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.lookup-badge-winner{
  color:#092100;
  background:linear-gradient(180deg,#d6ff9f,#9eea4f);
}

.lookup-badge-pending{
  color:#152018;
  background:linear-gradient(180deg,#f4ef9f,#d4cb59);
}

.lookup-badge-loser{
  color:#f0f0ea;
  background:#44483f;
}

.lookup-prizes{
  display:grid;
  gap:4px;
  margin-top:4px;
}

.lookup-prizes span{
  color:#d9dfd0;
  font-size:.74rem;
}

.lookup-empty{
  color:var(--muted);
  font-size:.82rem;
  text-align:center;
}
