/* Locktober 2025 Theme
   Colors: purple + black + green
*/
:root {
  --bg: #0e0e0e;
  --bg-alt: #111;
  --red: #8a2be2; /* purple accent */
  --green: #21c15a;
  --muted: #b2b2b2;
}
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;font-family:"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:#fff;min-height:100%;}
.header{background:var(--bg-alt);border-bottom:1px solid rgba(255,255,255,0.06);padding:12px 0;}
.header .container{max-width:1200px;margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between;}
.header h1{font-size:1.4rem;font-weight:700;margin:0;}
.container{max-width:1200px;margin:0 auto;padding:16px;}
.btn,button.btn,input[type=submit].btn{
  background:#141414;color:#fff;border:1px solid var(--red);
  padding:8px 16px;text-decoration:none;border-radius:8px;display:inline-block;
  font-size:.95rem;cursor:pointer;transition:background .2s ease,color .2s ease;
}
.btn:hover{background:rgba(138,43,226,0.25);}
input,select,textarea{
  font:inherit;padding:8px 10px;border-radius:6px;border:1px solid #2a2a2a;
  background:#0e0e0e;color:#fff;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--red);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
table{width:100%;border-collapse:collapse;}
th,td{padding:8px 10px;text-align:left;}
thead th{background:#1a1a1a;}
tbody tr:nth-child(odd){background:rgba(255,255,255,0.02);}
.grid-wrap{position:relative;margin-top:20px;}
.grid-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.35;}
.grid-overlay{position:relative;}
.table{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;}
.cell{
  background:rgba(0,0,0,0.6);padding:12px;text-align:center;
  border:1px solid rgba(255,255,255,0.05);min-height:100px;
}
.cell h3{margin:0 0 4px;font-size:1rem;}
.cell .value{font-size:1.2rem;font-weight:700;color:var(--red);}
.cell .repeatable{font-size:.8rem;color:var(--green);}
.cell .count{font-size:.8rem;color:var(--muted);margin-top:4px;}
.rewards h2{margin-top:40px;font-size:1.2rem;}
.rewards table td.claimed{color:var(--green);font-weight:600;}
.tally{margin-top:20px;font-weight:600;font-size:1.1rem;}
.auth-card{
  width:100%;max-width:420px;background:var(--bg-alt);border-radius:12px;
  padding:24px;border:1px solid rgba(255,255,255,0.08);box-shadow:0 10px 30px rgba(0,0,0,0.35);
}
.auth-card h2{margin:0 0 6px;font-weight:700;}
.auth-sub{color:var(--muted);margin:0 0 16px;}
.stat{margin:10px 0;padding:10px;background:#121212;border:1px solid rgba(255,255,255,0.08);}
.ok{color:var(--green);font-weight:700;}
.err{color:#ff6b6b;font-weight:700;}
.inline{display:inline;}
.muted{color:var(--muted);}
