/* ============================================================
   MONX LOTTERY — styles
   Built to sit natively beside ABOUT / MANIFESTO: left-aligned,
   the site's .section-header + .about-text type system, lowercase
   voice, restrained spacing. Palette mirrors the site accent set
   (--m-* in styles.css) but is self-contained under .lot-root.
   Blue (#3CA3E2) appears only on focus + live/earning states.
   ============================================================ */

.lot-root {
  --lot-bg:#000; --lot-panel:#0a0a0a; --lot-text:#fff; --lot-muted:#8a8a8a;
  --lot-dim:#555; --lot-line:#1f1f1f; --lot-blue:#3CA3E2; --lot-blue2:#7cc4ef;
  --lot-mono:'Courier New', monospace;
  font-family:'Inter', sans-serif;
  color:var(--lot-text);
  width:100%;
}
.lot-root, .lot-root * { box-sizing:border-box; }

/* left-aligned reading column, like the other text sections */
.lot-wrap { max-width:640px; margin:0; }

/* ── intro (reuses .section-header + .about-text for an exact type match) ── */
.lot-intro { margin-bottom:clamp(26px,5vh,46px); }
.lot-intro .about-text { max-width:560px; }
.lot-intro .about-text + .about-text { color:var(--lot-muted); }   /* the unannounced-cadence note, dimmer */

/* ── section blocks, divided by hairlines like the rest of the site ── */
.lot-block { padding:clamp(22px,3.6vh,34px) 0; border-top:1px solid var(--lot-line); }
.lot-block:first-of-type { border-top:none; padding-top:0; }
.lot-label { font-size:11px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--lot-muted); margin-bottom:18px; }

/* ── ticket checker ── */
.lot-row { display:flex; gap:10px; align-items:stretch; max-width:560px; }
.lot-input {
  flex:1 1 auto; min-width:0; background:var(--lot-panel); border:1px solid var(--lot-line);
  border-radius:10px; color:var(--lot-text); font-family:var(--lot-mono); font-size:14px;
  letter-spacing:.4px; padding:16px; outline:none; transition:border-color .2s, box-shadow .2s;
}
.lot-input::placeholder { color:var(--lot-dim); }
.lot-input:focus { border-color:var(--lot-blue); box-shadow:0 0 0 1px rgba(60,163,226,.3), 0 0 26px rgba(60,163,226,.10); }
.lot-btn {
  flex:0 0 auto; -webkit-appearance:none; appearance:none; background:transparent;
  border:1px solid var(--lot-text); color:var(--lot-text); font-family:'Inter',sans-serif;
  font-size:12px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase;
  padding:0 28px; border-radius:10px; cursor:pointer;
  transition:background .2s, color .2s, border-color .2s, transform .05s;
}
.lot-btn:hover { background:var(--lot-blue); color:#04141f; border-color:var(--lot-blue); }
.lot-btn:active { transform:translateY(1px); }
.lot-btn[disabled] { opacity:.5; cursor:default; }
.lot-err { color:#e2603c; font-family:var(--lot-mono); font-size:12px; margin-top:10px; letter-spacing:.3px; }
.lot-result { }

/* ── result ── */
.lot-empty { color:var(--lot-muted); font-size:13px; font-weight:300; line-height:1.6; padding:14px 0 2px; display:flex; align-items:center; gap:10px; }
.lot-mono { font-family:var(--lot-mono); color:var(--lot-text); }
.lot-spin { width:11px; height:11px; border:2px solid var(--lot-line); border-top-color:var(--lot-blue); border-radius:50%; display:inline-block; animation:lot-spin .7s linear infinite; flex:0 0 auto; }
@keyframes lot-spin { to { transform:rotate(360deg); } }

.lot-count { font-size:clamp(40px,7vh,56px); font-weight:600; line-height:1; letter-spacing:-1px; margin-top:20px; color:var(--lot-text); font-variant-numeric:tabular-nums; }
.lot-count.has { color:var(--lot-blue); text-shadow:0 0 30px rgba(60,163,226,.35), 0 0 70px rgba(60,163,226,.15); }
.lot-count-unit { font-size:11px; letter-spacing:1px; color:var(--lot-muted); margin-top:9px; text-transform:uppercase; }
.lot-count-unit .w { font-family:var(--lot-mono); color:var(--lot-dim); text-transform:none; letter-spacing:0; margin-left:4px; }
.lot-odds { font-size:12px; color:var(--lot-muted); margin-top:7px; }

.lot-grp { margin-top:24px; }
.lot-grp-l { font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--lot-dim); margin-bottom:6px; }
.lot-nrow { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:9px 0; border-top:1px solid var(--lot-line); font-size:13px; }
.lot-nrow .id { font-family:var(--lot-mono); color:var(--lot-muted); font-size:12px; }
.lot-nrow .st { font-size:11px; color:var(--lot-dim); letter-spacing:.3px; white-space:nowrap; }
.lot-nrow.earn .id { color:var(--lot-text); }
.lot-nrow.earn .st { color:var(--lot-blue); }
.lot-reset { margin-top:24px; display:inline-block; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--lot-muted); cursor:pointer; border-bottom:1px solid var(--lot-line); padding-bottom:2px; }
.lot-reset:hover { color:var(--lot-text); border-color:var(--lot-dim); }

/* ── how it works (reuses .about-text; numeral accent) ── */
.lot-n { font-family:var(--lot-mono); font-size:12px; color:var(--lot-blue); margin-right:12px; }

/* ── past draws + verification ── */
.lot-draw { padding:16px 0; border-top:1px solid var(--lot-line); }
.lot-draw:first-child { border-top:none; padding-top:2px; }
.lot-draw-top { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.lot-d-round { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--lot-dim); margin-bottom:5px; }
.lot-d-winner { font-family:var(--lot-mono); font-size:14px; color:var(--lot-text); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.lot-d-meta { font-size:11px; color:var(--lot-muted); margin-top:5px; }
.lot-copy { background:transparent; border:1px solid var(--lot-line); color:var(--lot-dim); font-family:'Inter',sans-serif; font-size:9px; letter-spacing:1px; text-transform:uppercase; padding:2px 7px; border-radius:4px; cursor:pointer; }
.lot-copy:hover { color:var(--lot-text); border-color:var(--lot-dim); }
.lot-verify-link { font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--lot-muted); cursor:pointer; white-space:nowrap; flex:0 0 auto; }
.lot-verify-link:hover { color:var(--lot-text); }
.lot-proof { display:none; margin-top:14px; }
.lot-draw.open .lot-proof { display:block; }
.lot-verdict { font-size:13px; font-weight:300; line-height:1.6; color:var(--lot-muted); display:flex; align-items:flex-start; gap:9px; padding:12px 14px; border-radius:8px; background:var(--lot-panel); border:1px solid var(--lot-line); }
.lot-verdict .b { font-weight:600; }
.lot-verdict.ok { color:#cfe9d6; } .lot-verdict.ok .b { color:#5fd08a; }
.lot-verdict.bad { color:#f0c9c0; } .lot-verdict.bad .b { color:#e2603c; }
.lot-ptoggle { margin-top:12px; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--lot-dim); cursor:pointer; }
.lot-ptoggle:hover { color:var(--lot-muted); }
.lot-pdetail { display:none; margin-top:12px; padding-top:12px; border-top:1px dashed var(--lot-line); }
.lot-pdetail.show { display:block; }
.lot-kv { font-family:var(--lot-mono); font-size:11px; color:var(--lot-muted); line-height:1.7; word-break:break-all; }
.lot-kv b { color:var(--lot-text); font-weight:400; }
.lot-kv a { color:var(--lot-blue); text-decoration:none; }
.lot-hashfield { width:100%; margin:8px 0; background:var(--lot-bg); border:1px solid var(--lot-line); border-radius:8px; color:var(--lot-text); font-family:var(--lot-mono); font-size:11px; padding:10px; outline:none; }
.lot-hashfield:focus { border-color:var(--lot-blue); }
.lot-cli { margin-top:10px; padding:10px 12px; background:var(--lot-bg); border:1px solid var(--lot-line); border-radius:8px; font-family:var(--lot-mono); font-size:11px; color:var(--lot-muted); word-break:break-all; }

/* ── footer ── */
.lot-foot { margin-top:clamp(26px,4vh,40px); padding-top:20px; border-top:1px solid var(--lot-line); font-size:12px; font-weight:300; line-height:1.7; color:var(--lot-dim); }
.lot-foot a { color:var(--lot-muted); text-decoration:none; border-bottom:1px solid var(--lot-line); }
.lot-foot a:hover { color:var(--lot-text); }

/* ── optional pool stats ── */
.lot-pool { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; max-width:520px; }
.lot-pool .v { font-size:22px; font-weight:600; color:var(--lot-text); font-variant-numeric:tabular-nums; }
.lot-pool .l { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--lot-dim); margin-top:4px; }

/* ── copy toast ── */
.lot-toast { position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(8px); background:#111; border:1px solid var(--lot-line); color:var(--lot-text); font-size:12px; letter-spacing:.5px; padding:9px 16px; border-radius:8px; opacity:0; pointer-events:none; transition:opacity .15s, transform .15s; z-index:60; }
.lot-toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

/* ── section integration: desktop scroll like #protocols; mobile uses the
   site's own .section-content scroll rule ── */
@media screen and (min-width:901px) {
  #lottery.section-content {
    max-height:100vh;
    overflow-y:auto;
    overflow-x:hidden;
    align-self:flex-start;
    margin-top:clamp(20px,6vh,70px);
  }
  #lottery.section-content::-webkit-scrollbar { width:6px; }
  #lottery.section-content::-webkit-scrollbar-track { background:transparent; }
  #lottery.section-content::-webkit-scrollbar-thumb { background:var(--border-light); border-radius:3px; }
  #lottery.section-content::-webkit-scrollbar-thumb:hover { background:var(--text); }
}
@media (max-width:520px) {
  .lot-row { flex-direction:column; }
  .lot-btn { padding:14px; }
  .lot-pool { grid-template-columns:repeat(2,1fr); gap:20px 16px; }
}
@media (prefers-reduced-motion:reduce) { .lot-spin { animation:none; } }

/* multi-winner rows (past draws) */
.lot-d-rank { color:var(--lot-dim); font-weight:600; margin-right:2px; font-family:var(--lot-mono); }
.lot-wins { margin:4px 0 8px; }
.lot-win-row { font-family:var(--lot-mono); font-size:12px; padding:3px 0; color:var(--lot-muted); letter-spacing:.2px; }
.lot-win-row.ok { color:var(--lot-text); }
.lot-win-row.bad { color:#e2603c; }