@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;700&family=Source+Sans+3:wght@400;600;700&display=swap');

.lw-project-runtime--lottery {
  --red: #E3120B;
  --blue: #2455A4;
  --blue-lt: #d9e4f5;
  --red-lt: #fde8e7;
  --green: #1a6b3c;
  --amber: #b45309;
  --bg: #FAF9F5;
  --bg-card: #FFFFFF;
  --bg-stripe: #F3F1EB;
  --text: #1A1A1A;
  --muted: #6B6860;
  --border: #DDD9D0;
  --border-lt: #EAE7DF;
  --serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --sans: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.lw-project-runtime--lottery, .lw-project-runtime--lottery * { box-sizing: border-box; }
.lw-project-runtime--lottery {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
}
.lw-project-runtime--lottery .top-bar { height: 4px; background: var(--red); }
.lw-project-runtime--lottery header {
  background: var(--bg-card);
  border-bottom: 1px solid var(--border);
  padding: 18px 16px 14px;
}
.lw-project-runtime--lottery h1, .lw-project-runtime--lottery h2, .lw-project-runtime--lottery h3, .lw-project-runtime--lottery h4 { font-family: var(--serif); margin: 0; }
.lw-project-runtime--lottery h1 { font-size: clamp(1.45rem, 4vw, 2rem); margin-top: 4px; }
.lw-project-runtime--lottery .kicker {font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin:0}
.lw-project-runtime--lottery .sub { color: var(--muted); margin: 6px 0 12px; font-size: 0.84rem; line-height: 1.45; }
.lw-project-runtime--lottery .toggle-row { display: flex; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.lw-project-runtime--lottery .toggle-row button {
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--muted);
  font-size: 0.75rem;
  padding: 7px 10px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 700;
}
.lw-project-runtime--lottery .toggle-row button.active { background: var(--text); color: #fff; border-color: var(--text); }
.lw-project-runtime--lottery .metrics {
  margin-top: 10px;
  border: 1px solid var(--border);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--border);
}
.lw-project-runtime--lottery .metric { background: var(--bg-card); padding: 12px 10px; text-align: center; }
.lw-project-runtime--lottery .metric .v { font-family: "Playfair Display", serif; font-size: 1.3rem; font-weight: 700; }
.lw-project-runtime--lottery .metric .l { color: var(--muted); font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.06em; }
.lw-project-runtime--lottery .meta-note {
  margin-top: 10px;
  font-size: 0.74rem;
  color: var(--muted);
  background: var(--bg-stripe);
  border: 1px solid var(--border-lt);
  border-radius: 4px;
  padding: 8px 10px;
}
.lw-project-runtime--lottery main { max-width: 760px; margin: 0 auto; padding: 0 14px 40px; }
.lw-project-runtime--lottery .section { margin-top: 28px; }
.lw-project-runtime--lottery .section-rule { border: none; border-top: 2px solid var(--text); margin: 0 0 4px; }
.lw-project-runtime--lottery .section-head p { margin: 0; }
.lw-project-runtime--lottery .explainer { margin-top: 4px; font-size: 0.86rem; line-height: 1.5; }
.lw-project-runtime--lottery .explainer-note { margin-top: 4px; color: var(--muted); font-size: 0.73rem; line-height: 1.45; }
.lw-project-runtime--lottery .callout {
  margin: 10px 0;
  background: var(--bg-stripe);
  border-left: 3px solid var(--blue);
  padding: 9px 10px;
  font-size: 0.8rem;
}
.lw-project-runtime--lottery .chart { border: 1px solid var(--border); border-radius: 4px; max-height: 360px; overflow: auto; }
.lw-project-runtime--lottery .row {
  display: grid;
  grid-template-columns: 30px 1fr 56px;
  align-items: center;
  gap: 8px;
  padding: 3px 8px;
  border-bottom: 1px solid var(--border-lt);
  font-size: 0.72rem;
}
.lw-project-runtime--lottery .row:nth-child(even) { background: var(--bg-stripe); }
.lw-project-runtime--lottery .barwrap { background: #eee; border-radius: 2px; height: 10px; overflow: hidden; }
.lw-project-runtime--lottery .bar { height: 100%; }
.lw-project-runtime--lottery .table { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.lw-project-runtime--lottery .table th {
  text-transform: uppercase;
  font-size: 0.61rem;
  letter-spacing: 0.07em;
  color: var(--muted);
  text-align: left;
  border-bottom: 2px solid var(--text);
  padding: 6px;
}
.lw-project-runtime--lottery .table td { border-bottom: 1px solid var(--border-lt); padding: 7px 6px; }
.lw-project-runtime--lottery .table tr:nth-child(even) { background: var(--bg-stripe); }
.lw-project-runtime--lottery .r { text-align: right; }
.lw-project-runtime--lottery .pattern-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lw-project-runtime--lottery .pattern-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 3px;
  padding: 14px 12px;
}
.lw-project-runtime--lottery .mini-row { display: grid; grid-template-columns: 52px 1fr 48px; gap: 6px; align-items: center; margin-top: 6px; font-size: 0.73rem; }
.lw-project-runtime--lottery .mini-track { background: #eee; border-radius: 2px; height: 10px; }
.lw-project-runtime--lottery .mini-fill { background: var(--text); height: 100%; border-radius: 2px; }
.lw-project-runtime--lottery .pairs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.lw-project-runtime--lottery .pair { border: 1px solid var(--border); border-radius: 4px; padding: 8px; background: var(--bg-card); font-size: 0.74rem; }
.lw-project-runtime--lottery .heatmap-wrap { overflow: auto; border: 1px solid var(--border); border-radius: 4px; background: var(--bg-card); }
.lw-project-runtime--lottery .hm-table { border-collapse: collapse; font-size: .55rem; white-space: nowrap; }
.lw-project-runtime--lottery .hm-table td, .lw-project-runtime--lottery .hm-table th { border: 1px solid var(--border-lt); width: 10px; height: 16px; text-align: center; }
.lw-project-runtime--lottery .hm-table th.sticky, .lw-project-runtime--lottery .hm-table td.sticky { position: sticky; left: 0; background: var(--bg-card); min-width: 42px; width: 42px; }
.lw-project-runtime--lottery .gen-controls {background:var(--bg-card);border:1px solid var(--border);border-radius:3px;padding:14px;margin-bottom:12px}
.lw-project-runtime--lottery .slider-row {display:flex;align-items:center;gap:10px;margin-bottom:12px}
.lw-project-runtime--lottery .slider-row label {font-size:.75rem;font-weight:700;width:52px;flex-shrink:0}
.lw-project-runtime--lottery .slider-row input[type=range] {flex:1;accent-color:var(--text);cursor:pointer}
.lw-project-runtime--lottery .slider-val {width:40px;text-align:right;font-family:var(--serif);font-size:.95rem;font-weight:700}
.lw-project-runtime--lottery .strat-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.lw-project-runtime--lottery .strat-btn {
  padding:8px 4px;border:1px solid var(--border);background:var(--bg);
  color:var(--muted);font-size:.68rem;font-weight:700;font-family:var(--sans);
  cursor:pointer;border-radius:3px;transition:all .15s;text-align:center;line-height:1.3
}
.lw-project-runtime--lottery .strat-btn .strat-icon {display:block;font-size:.9rem;margin-bottom:2px}
.lw-project-runtime--lottery .strat-btn.active {background:var(--text);color:#fff;border-color:var(--text)}
.lw-project-runtime--lottery .line-list {display:flex;flex-direction:column;gap:8px}
.lw-project-runtime--lottery .line-card {background:var(--bg-card);border:1px solid var(--border);border-radius:3px;padding:10px 12px}
.lw-project-runtime--lottery .line-meta {display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.lw-project-runtime--lottery .line-num {font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lw-project-runtime--lottery .quality-badge {font-size:.62rem;font-weight:700;padding:2px 7px;border-radius:10px}
.lw-project-runtime--lottery .quality-badge.q4 {background:#d1fae5;color:var(--green)}
.lw-project-runtime--lottery .quality-badge.q3 {background:#fef3c7;color:var(--amber)}
.lw-project-runtime--lottery .quality-badge.q2 {background:var(--red-lt);color:var(--red)}
.lw-project-runtime--lottery .quality-badge.q1 {background:var(--bg-stripe);color:var(--muted)}
.lw-project-runtime--lottery .balls, .lw-project-runtime--lottery .balls-row {display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.lw-project-runtime--lottery .ball {
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;font-size:.78rem;font-weight:700;
  font-family:var(--sans);flex-shrink:0;
}
.lw-project-runtime--lottery .ball.main {background:var(--text);color:#fff}
.lw-project-runtime--lottery .ball.extra, .lw-project-runtime--lottery .ball.bonus {background:var(--amber);color:#fff}
.lw-project-runtime--lottery .ball-sep {color:var(--border);font-size:.9rem;font-weight:300}
.lw-project-runtime--lottery .line-info {display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}
.lw-project-runtime--lottery .line-tag {font-size:.62rem;color:var(--muted)}
.lw-project-runtime--lottery .line-tag strong {color:var(--text);font-weight:700}
.lw-project-runtime--lottery .regen-btn {
  width:100%;margin-top:10px;padding:11px;
  border:1.5px solid var(--text);background:var(--bg-card);
  color:var(--text);font-size:.82rem;font-weight:700;font-family:var(--sans);
  cursor:pointer;border-radius:3px;transition:all .15s;letter-spacing:.03em
}
.lw-project-runtime--lottery .regen-btn:hover {background:var(--text);color:#fff}
.lw-project-runtime--lottery .sim-controls { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 6px; }
.lw-project-runtime--lottery .sim-btn {
  padding:8px 14px;border:1.5px solid var(--text);background:var(--bg-card);
  color:var(--text);font-size:.75rem;font-weight:700;font-family:var(--sans);
  cursor:pointer;border-radius:3px;transition:all .15s;letter-spacing:.03em
}
.lw-project-runtime--lottery .sim-btn:hover {background:var(--text);color:#fff}
.lw-project-runtime--lottery .sim-box { border: 1px solid var(--border); border-radius: 4px; background: var(--bg-card); padding: 10px; margin-top: 10px; }
.lw-project-runtime--lottery .sim-stats-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);margin-top:10px }
.lw-project-runtime--lottery .sim-cell { background: var(--bg-card); text-align: center; padding: 8px 6px; }
.lw-project-runtime--lottery .sim-cell .v { font-family: "Playfair Display", serif; font-size: 1rem; }
.lw-project-runtime--lottery .sim-cell .l { color: var(--muted); font-size: 0.56rem; text-transform: uppercase; letter-spacing: 0.05em; }
.lw-project-runtime--lottery .sim-money { margin-top: 10px; display: grid; gap: 6px; }
.lw-project-runtime--lottery .sim-money .row2 { display: flex; justify-content: space-between; border-bottom: 1px solid var(--border-lt); padding-bottom: 4px; font-size: 0.76rem; }
.lw-project-runtime--lottery footer {padding:28px 16px;text-align:center;color:var(--muted);font-size:.68rem;
       border-top:2px solid var(--border);margin-top:32px;font-style:italic}
@media (max-width: 700px) {
  .lw-project-runtime--lottery .metrics { grid-template-columns: repeat(2, 1fr); }
  .lw-project-runtime--lottery .pattern-grid { grid-template-columns: 1fr; }
  .lw-project-runtime--lottery .pairs { grid-template-columns: repeat(2, 1fr); }
  .lw-project-runtime--lottery .strat-grid { grid-template-columns: repeat(2, 1fr); }
  .lw-project-runtime--lottery .sim-stats-grid { grid-template-columns: repeat(2, 1fr); }
}
