/* ── LottoMom · Delaware Keno · kn-styles.css ── */
:root {
  --gold: #d4a017;
  --bg: #0a0800;
  --card: #18120a;
  --border: rgba(255,255,255,0.08);
  --text: #ffffff;
  --muted: rgba(255,255,255,0.4);
  --accent: #7c3aed;
  --accent-light: #a78bfa;
  --font-display: 'Oswald', sans-serif;
  --font-body: 'Inter', -apple-system, sans-serif;
}
*,*::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:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;}
.kn-wrap{max-width:620px;margin:0 auto;min-height:100vh;background:var(--bg);}
.kn-glow{position:fixed;top:-10%;left:50%;transform:translateX(-50%);width:340px;height:340px;background:radial-gradient(circle,rgba(124,58,237,0.25) 0%,transparent 70%);pointer-events:none;z-index:0;}
.kn-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;}
.kn-nav a{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;}
.kn-nav a:hover{color:var(--gold);}
.kn-back{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:14px 20px 0;position:relative;z-index:1;}
.kn-back:hover{color:var(--gold);}
.kn-header{position:relative;z-index:1;text-align:center;padding:28px 20px 20px;}
.kn-badge{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-light);border:1px solid rgba(167,139,250,0.3);padding:5px 16px;border-radius:100px;margin-bottom:12px;background:rgba(124,58,237,0.12);}
.kn-header h1{font-family:var(--font-display);font-size:48px;font-weight:700;line-height:1;color:var(--text);letter-spacing:.02em;}
.kn-header h1 span{color:var(--accent-light);}
.kn-subtitle{margin:8px 0 0;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);font-weight:500;}
.kn-divider{width:40px;height:2px;background:linear-gradient(90deg,transparent,var(--accent-light),transparent);margin:14px auto 0;border:none;}
/* Ad Slots */
.lm-ad-banner,.lm-ad-midpage,.lm-ad-badge{position:relative;z-index:1;text-align:center;padding:0 16px;margin:8px 0;display:none;}
.lm-ad-banner-inner,.lm-ad-mid-inner{background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.1);border-radius:10px;padding:10px;display:inline-block;width:100%;}
.lm-ad-badge-inner{font-size:11px;color:rgba(255,255,255,.35);}
.lm-ad-badge-inner a{color:var(--gold);text-decoration:none;}
.lm-ad-label{display:block;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.2);margin-bottom:6px;}
.lm-ad-sponsor-label{display:block;font-size:10px;color:rgba(255,255,255,.25);margin-top:5px;}
/* Tabs */
.tabs{position:relative;z-index:1;display:flex;gap:6px;padding:16px 16px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tabs::-webkit-scrollbar{display:none;}
.tab-btn{flex-shrink:0;padding:8px 18px;background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:100px;cursor:pointer;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);transition:all .15s;}
.tab-btn:hover{color:var(--text);border-color:rgba(255,255,255,.2);}
.tab-btn.active{background:rgba(124,58,237,.18);border-color:rgba(167,139,250,.5);color:var(--accent-light);}
.tab-panel{display:none;padding:20px 16px;position:relative;z-index:1;}
.tab-panel.active{display:block;}
/* Spot selector */
.kn-spot-select{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;justify-content:center;}
.kn-spot-btn{width:40px;height:40px;border-radius:8px;background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .15s;}
.kn-spot-btn.active{background:rgba(124,58,237,.2);border-color:rgba(167,139,250,.6);color:var(--accent-light);}
.kn-spot-btn:hover:not(.active){border-color:rgba(255,255,255,.2);color:var(--text);}
.kn-spot-label{width:100%;text-align:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
/* Keno board */
.kn-board-wrap{position:relative;z-index:1;padding:0 16px;}
.kn-board-title{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.kn-board{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin-bottom:16px;}
.kn-num{aspect-ratio:1;border-radius:6px;background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--muted);cursor:pointer;transition:all .12s;user-select:none;}
.kn-num.picked{background:rgba(124,58,237,.25);border-color:rgba(167,139,250,.6);color:var(--accent-light);}
.kn-num.drawn{background:rgba(167,139,250,.15);border-color:rgba(167,139,250,.4);color:var(--accent-light);}
.kn-num.match{background:linear-gradient(135deg,rgba(124,58,237,.4),rgba(90,20,200,.3));border-color:rgba(167,139,250,.9);color:#fff;box-shadow:0 0 12px rgba(124,58,237,.5);}
.kn-num:hover:not(.picked):not(.drawn):not(.match){border-color:rgba(255,255,255,.2);color:var(--text);}
/* Controls */
.kn-controls{display:flex;flex-direction:column;gap:10px;padding:0 16px;margin-bottom:16px;}
.kn-btn-draw{width:100%;padding:16px;background:linear-gradient(135deg,#6d28d9,#4c1d95);border:none;border-radius:12px;cursor:pointer;font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;transition:all .2s;box-shadow:0 4px 20px rgba(124,58,237,.45);}
.kn-btn-draw:hover{transform:translateY(-1px);box-shadow:0 6px 28px rgba(124,58,237,.65);}
.kn-btn-row{display:flex;gap:8px;}
.kn-btn-secondary{flex:1;padding:12px;background:var(--card);border:1px solid var(--border);border-radius:10px;cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--muted);transition:all .15s;}
.kn-btn-secondary:hover{border-color:rgba(255,255,255,.25);color:var(--text);}
/* Result display */
.kn-result-bar{position:relative;z-index:1;margin:0 16px 16px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:12px;min-height:60px;}
.kn-result-label{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.kn-drawn-nums{display:flex;flex-wrap:wrap;gap:5px;}
.kn-drawn-ball{width:32px;height:32px;border-radius:50%;background:rgba(124,58,237,.2);border:1px solid rgba(167,139,250,.3);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--accent-light);transition:all .3s;}
.kn-drawn-ball.hit{background:linear-gradient(135deg,rgba(124,58,237,.5),rgba(90,20,200,.4));border-color:rgba(167,139,250,.9);color:#fff;box-shadow:0 0 10px rgba(124,58,237,.5);}
.kn-match-result{margin-top:10px;font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--accent-light);}
.kn-match-result.win{color:#4ade80;}
.kn-match-result.jackpot{color:var(--gold);text-shadow:0 0 20px rgba(212,160,23,.6);}
/* Spot picker status */
.kn-pick-status{text-align:center;font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.05em;margin-bottom:12px;}
.kn-pick-status span{color:var(--accent-light);}
/* Frequency */
.kn-freq-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:4px;}
.kn-freq-item{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:9px 5px;text-align:center;}
.kn-freq-num{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--text);line-height:1;}
.kn-freq-bar-wrap{height:3px;background:rgba(255,255,255,.07);border-radius:2px;margin:5px 3px 3px;}
.kn-freq-bar{height:3px;border-radius:2px;background:var(--accent-light);}
.kn-freq-count{font-size:10px;color:var(--muted);}
.kn-freq-hot .kn-freq-num{color:#ff7c7c;}.kn-freq-hot .kn-freq-bar{background:#ff7c7c;}
.kn-freq-cold .kn-freq-num{color:#7cbbff;}.kn-freq-cold .kn-freq-bar{background:#7cbbff;}
.kn-section-title{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;margin-top:18px;}
.kn-section-title:first-child{margin-top:0;}
/* Howto */
.kn-howto{padding:16px;background:var(--card);border:1px solid var(--border);border-radius:12px;}
.kn-howto h3{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--accent-light);margin-bottom:12px;}
.kn-howto-list{list-style:none;display:flex;flex-direction:column;gap:8px;}
.kn-howto-list li{font-size:13px;color:rgba(255,255,255,.65);line-height:1.5;display:flex;gap:8px;align-items:flex-start;}
.kn-howto-list li::before{content:'▸';color:var(--accent-light);flex-shrink:0;margin-top:1px;}
.kn-prize-table{width:100%;border-collapse:collapse;margin-top:12px;}
.kn-prize-table th{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);}
.kn-prize-table td{font-size:13px;color:rgba(255,255,255,.7);padding:8px 8px;border-bottom:1px solid rgba(255,255,255,.04);}
.kn-prize-table td:last-child{color:var(--gold);font-weight:600;}
/* Stats */
.kn-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.kn-stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px 14px;}
.kn-stat-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.kn-stat-value{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--accent-light);line-height:1;}
.kn-stat-sub{font-size:11px;color:var(--muted);margin-top:4px;}
/* Footer */
.kn-footer{position:relative;z-index:1;text-align:center;padding:24px 20px 52px;margin-top:16px;border-top:1px solid var(--border);color:rgba(255,255,255,.22);font-size:11px;line-height:1.9;}
.kn-footer a{color:var(--gold);text-decoration:none;}
.kn-footer nav{display:flex;justify-content:center;gap:16px;margin-bottom:10px;flex-wrap:wrap;}
@keyframes popIn{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
.kn-drawn-ball.animate{animation:popIn .35s ease both;}
@keyframes fadeInUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
