/* ── LottoMom · Oregon Win for Life · wfl-styles.css ────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;700&family=DM+Sans:wght@400;500;600&display=swap');

:root {
  --gold:    #d4a017;
  --purple:  #9c2ca0;
  --purple2: #d890dc;
  --bg:      #0a0800;
  --surface: #18120a;
  --card:    #1e1608;
  --border:  rgba(255,255,255,0.08);
  --text:    #ffffff;
  --muted:   rgba(255,255,255,0.38);
  --radius:  14px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html,body{background:var(--bg);color:var(--text);font-family:'DM Sans',-apple-system,sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;}
.wfl-wrap{max-width:620px;margin:0 auto;min-height:100vh;background:var(--bg);position:relative;overflow-x:hidden;}
.wfl-glow{position:fixed;top:-10%;left:50%;transform:translateX(-50%);width:340px;height:340px;background:radial-gradient(circle,rgba(156,44,160,0.28) 0%,transparent 70%);pointer-events:none;z-index:0;}

.wfl-nav{position:relative;z-index:10;display:flex;justify-content:center;gap:20px;padding:14px 20px;border-bottom:1px solid var(--border);background:rgba(10,8,0,0.95);backdrop-filter:blur(8px);flex-wrap:wrap;}
.wfl-nav a{font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;}
.wfl-nav a.active,.wfl-nav a:hover{color:var(--gold);}

.wfl-back{display:inline-flex;align-items:center;gap:6px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:14px 20px 0;position:relative;z-index:1;transition:color 0.15s;}
.wfl-back:hover{color:var(--gold);}

.wfl-header{position:relative;z-index:1;text-align:center;padding:28px 20px 20px;}
.wfl-badge{display:inline-block;font-size:10px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--purple2);border:1px solid rgba(216,144,220,0.35);padding:5px 16px;border-radius:100px;margin-bottom:12px;background:rgba(216,144,220,0.08);}
.wfl-header h1{font-family:'Oswald',sans-serif;font-size:38px;font-weight:700;line-height:1;color:var(--text);letter-spacing:0.02em;}
.wfl-header h1 span{color:var(--purple2);}
.wfl-header p{margin:8px 0 0;font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted);font-weight:500;}
.wfl-divider{width:40px;height:2px;background:linear-gradient(90deg,transparent,var(--purple2),transparent);margin:12px auto 0;border:none;}

.wfl-jackpot{position:relative;z-index:1;margin:16px 16px 0;background:linear-gradient(135deg,rgba(156,44,160,0.2),rgba(10,8,0,0.8));border:1px solid rgba(216,144,220,0.22);border-radius:var(--radius);padding:16px 20px;text-align:center;}
.wfl-jackpot-label{font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--purple2);font-weight:600;opacity:0.7;margin-bottom:4px;}
.wfl-jackpot-amt{font-family:'Oswald',sans-serif;font-size:32px;font-weight:700;color:var(--purple2);}
.wfl-jackpot-sub{font-size:11px;color:var(--muted);margin-top:3px;}

.tabs{position:relative;z-index:1;display:flex;gap:4px;padding:16px 16px 0;overflow-x:auto;scrollbar-width:none;}
.tabs::-webkit-scrollbar{display:none;}
.tab-btn{flex-shrink:0;padding:8px 18px;background:var(--surface);border:1px solid var(--border);border-radius:100px;color:var(--muted);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;cursor:pointer;transition:all 0.15s;}
.tab-btn.active{background:var(--purple);border-color:var(--purple);color:#fff;}
.tab-btn:hover:not(.active){border-color:rgba(255,255,255,0.2);color:var(--text);}
.tab-panel{display:none;position:relative;z-index:1;}
.tab-panel.active{display:block;}

/* PLAY */
.wfl-play{padding:20px 16px;}
.wfl-pick-label{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:12px;text-align:center;}
.wfl-balls{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px;}
.wfl-ball{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;background:var(--card);border:2px solid var(--border);color:var(--muted);transition:all 0.2s;cursor:pointer;user-select:none;}
.wfl-ball.picked{background:var(--purple);border-color:var(--purple2);color:#fff;transform:scale(1.08);box-shadow:0 0 16px rgba(156,44,160,0.5);}
.wfl-ball.result{background:linear-gradient(135deg,#9c2ca0,#5a1060);border-color:var(--purple2);color:#fff;animation:wflpop 0.3s ease;}
@keyframes wflpop{0%{transform:scale(0.7);opacity:0}60%{transform:scale(1.14)}100%{transform:scale(1)}}

.wfl-actions{display:flex;gap:10px;margin-bottom:16px;}
.wfl-btn{flex:1;padding:14px 10px;border-radius:12px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;border:none;transition:all 0.15s;}
.wfl-btn-primary{background:linear-gradient(135deg,var(--purple),#5a1060);color:#fff;box-shadow:0 4px 20px rgba(156,44,160,0.35);}
.wfl-btn-primary:hover{box-shadow:0 6px 28px rgba(156,44,160,0.55);transform:translateY(-1px);}
.wfl-btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--muted);}
.wfl-btn-secondary:hover{border-color:rgba(255,255,255,0.2);color:var(--text);}

.wfl-result-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;text-align:center;min-height:90px;display:flex;align-items:center;justify-content:center;flex-direction:column;}
.wfl-result-title{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:10px;}
.wfl-result-nums{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;}
.wfl-result-num{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#9c2ca0,#5a1060);border:1px solid var(--purple2);color:#fff;font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.wfl-match-banner{margin-top:10px;padding:8px 16px;border-radius:100px;font-size:13px;font-weight:700;}
.match-0{background:rgba(255,255,255,0.05);color:var(--muted);}
.match-2,.match-3{background:rgba(212,160,23,0.12);color:var(--gold);}
.match-4,.match-5{background:rgba(156,44,160,0.2);color:var(--purple2);}
.match-6{background:linear-gradient(135deg,rgba(156,44,160,0.4),rgba(216,144,220,0.15));color:#e8a8ec;border:1px solid var(--purple2);}

/* FREQ/HISTORY/STATS */
.wfl-freq,.wfl-history,.wfl-stats{padding:16px;}
.freq-title{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:14px;text-align:center;}
.freq-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:16px;}
.freq-cell{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 3px;background:var(--card);border-radius:7px;border:1px solid var(--border);}
.freq-num{font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;color:var(--text);}
.freq-bar-wrap{width:100%;height:24px;display:flex;align-items:flex-end;}
.freq-bar{width:100%;border-radius:3px 3px 0 0;background:var(--purple);opacity:0.7;min-height:2px;}
.freq-count{font-size:8px;color:var(--muted);font-weight:600;}
.history-item{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:8px;}
.history-date{font-size:11px;color:var(--muted);font-weight:500;margin-bottom:8px;}
.history-nums{display:flex;gap:6px;flex-wrap:wrap;}
.history-num{width:32px;height:32px;border-radius:50%;background:var(--surface);border:1px solid rgba(216,144,220,0.2);color:var(--purple2);font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;text-align:center;}
.stat-val{font-family:'Oswald',sans-serif;font-size:26px;font-weight:700;color:var(--purple2);line-height:1;}
.stat-label{font-size:10px;color:var(--muted);letter-spacing:0.12em;text-transform:uppercase;margin-top:4px;}
.wfl-footer{position:relative;z-index:1;text-align:center;padding:24px 20px 52px;margin-top:16px;border-top:1px solid var(--border);color:var(--muted);font-size:11px;line-height:1.9;}
.wfl-footer a{color:var(--gold);text-decoration:none;}
