/* ═══════════════════════════════════════════════════════════════
   LUCKY LOTTOS — Premium AI Lottery Prediction Theme
   lucky-lottos.com | Version 1.0.0
   Aesthetic: Dark Luxury Gold × Cosmic Neon
═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,400;1,600&family=DM+Mono:wght@300;400;500&family=Bebas+Neue&family=Outfit:wght@300;400;500;600;700&display=swap');

/* ── Variables ── */
:root {
  --gold:     #D4AF37;
  --gold-lt:  #F0D060;
  --gold-dk:  #8B7015;
  --crimson:  #C0392B;
  --electric: #00D4FF;
  --purple:   #7B2FBE;
  --green:    #00C851;
  --dark:     #080A0F;
  --dark-2:   #0D1117;
  --dark-3:   #13181F;
  --dark-4:   #1A2030;
  --dark-5:   #222B3A;
  --border:   rgba(212,175,55,0.2);
  --border-lt:rgba(212,175,55,0.1);
  --text:     #E8EDF5;
  --text-muted:#8A95A8;
  --shadow:   0 20px 60px rgba(0,0,0,0.6);
  --glow-gold:0 0 40px rgba(212,175,55,0.3);
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --font-display: 'Bebas Neue', sans-serif;
  --font-body:    'Outfit', sans-serif;
  --font-mono:    'DM Mono', monospace;
  --font-serif:   'Cormorant Garamond', serif;
}

/* ── Reset ── */
.ll-app, .ll-app * { box-sizing: border-box; margin: 0; padding: 0; }
.ll-app { font-family: var(--font-body); color: var(--text); background: var(--dark); line-height: 1.6; }
.ll-app a { color: var(--gold); text-decoration: none; }
.ll-app a:hover { color: var(--gold-lt); }

/* ── Container ── */
.ll-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

/* ══════════════════════════════════════
   HERO SECTION
══════════════════════════════════════ */
.ll-hero {
  position: relative;
  min-height: 560px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 80px 24px 60px;
  overflow: hidden;
}

.ll-hero-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(212,175,55,0.12) 0%, transparent 70%),
              radial-gradient(ellipse 50% 40% at 20% 80%, rgba(0,212,255,0.06) 0%, transparent 60%),
              radial-gradient(ellipse 50% 40% at 80% 80%, rgba(123,47,190,0.06) 0%, transparent 60%),
              var(--dark);
}

.ll-stars {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(1px 1px at 10% 15%, rgba(255,255,255,0.6) 0%, transparent 100%),
    radial-gradient(1px 1px at 25% 35%, rgba(255,255,255,0.4) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 40% 20%, rgba(212,175,55,0.7) 0%, transparent 100%),
    radial-gradient(1px 1px at 60% 10%, rgba(255,255,255,0.5) 0%, transparent 100%),
    radial-gradient(1px 1px at 75% 40%, rgba(255,255,255,0.3) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 85% 25%, rgba(212,175,55,0.6) 0%, transparent 100%),
    radial-gradient(1px 1px at 90% 55%, rgba(255,255,255,0.4) 0%, transparent 100%),
    radial-gradient(1px 1px at 15% 70%, rgba(255,255,255,0.3) 0%, transparent 100%),
    radial-gradient(2px 2px at 50% 50%, rgba(212,175,55,0.4) 0%, transparent 100%),
    radial-gradient(1px 1px at 70% 70%, rgba(255,255,255,0.5) 0%, transparent 100%),
    radial-gradient(1px 1px at 35% 85%, rgba(255,255,255,0.3) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 5% 50%, rgba(0,212,255,0.5) 0%, transparent 100%),
    radial-gradient(1px 1px at 95% 85%, rgba(0,212,255,0.4) 0%, transparent 100%);
  animation: ll-twinkle 6s ease-in-out infinite alternate;
}
@keyframes ll-twinkle { 0%{opacity:0.7} 100%{opacity:1} }

.ll-orbs { position:absolute; inset:0; pointer-events:none; }
.ll-orb {
  position:absolute; border-radius:50%;
  animation: ll-float 8s ease-in-out infinite;
}
.ll-orb-1 { width:400px;height:400px;top:-200px;left:-100px;background:radial-gradient(circle,rgba(212,175,55,0.07) 0%,transparent 70%);animation-delay:0s; }
.ll-orb-2 { width:300px;height:300px;bottom:-100px;right:5%;background:radial-gradient(circle,rgba(0,212,255,0.06) 0%,transparent 70%);animation-delay:-3s; }
.ll-orb-3 { width:200px;height:200px;top:30%;right:10%;background:radial-gradient(circle,rgba(123,47,190,0.07) 0%,transparent 70%);animation-delay:-5s; }
@keyframes ll-float { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-20px) scale(1.05)} }

.ll-hero-content { position:relative;z-index:2;max-width:700px; }

.ll-logo-wrap { display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:28px; }
.ll-logo-icon { font-size:52px;filter:drop-shadow(0 0 20px rgba(212,175,55,0.6));animation:ll-spin-glow 4s ease-in-out infinite; }
@keyframes ll-spin-glow { 0%,100%{filter:drop-shadow(0 0 20px rgba(212,175,55,0.6))} 50%{filter:drop-shadow(0 0 35px rgba(212,175,55,0.9))} }
.ll-logo-text { display:flex;flex-direction:column;line-height:1; }
.ll-logo-lucky { font-family:var(--font-display);font-size:42px;letter-spacing:4px;color:var(--gold);text-shadow:0 0 30px rgba(212,175,55,0.5); }
.ll-logo-lottos { font-family:var(--font-display);font-size:42px;letter-spacing:6px;color:var(--text);opacity:0.85; }

.ll-hero-title { font-family:var(--font-serif);font-size:clamp(32px,5vw,58px);font-weight:600;line-height:1.15;margin-bottom:20px;color:var(--text); }
.ll-hero-title em { color:var(--gold);font-style:italic; }
.ll-hero-sub { font-size:17px;color:var(--text-muted);max-width:540px;margin:0 auto 28px;line-height:1.7; }

.ll-hero-badges { display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:24px; }
.ll-badge { padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;letter-spacing:0.5px; }
.ll-badge-multi { background:rgba(232,0,28,0.15);border:1px solid rgba(232,0,28,0.4);color:#FF4444; }
.ll-badge-ny   { background:rgba(0,51,153,0.2);border:1px solid rgba(0,100,255,0.4);color:#5599FF; }
.ll-badge-ca   { background:rgba(255,107,0,0.15);border:1px solid rgba(255,107,0,0.4);color:#FF9944; }
.ll-badge-fl   { background:rgba(0,122,51,0.15);border:1px solid rgba(0,200,100,0.4);color:#44DD88; }
.ll-badge-tx   { background:rgba(191,10,48,0.15);border:1px solid rgba(191,10,48,0.4);color:#FF6677; }
.ll-badge-il   { background:rgba(0,48,135,0.15);border:1px solid rgba(80,140,255,0.4);color:#88AAFF; }

/* Free Counter */
.ll-free-counter { margin-top:16px; }
.ll-counter-bar { width:240px;height:6px;background:rgba(255,255,255,0.1);border-radius:3px;margin:0 auto 8px;overflow:hidden; }
.ll-counter-fill { height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-lt));border-radius:3px;transition:width 0.5s ease; }
.ll-counter-text { font-size:14px;color:var(--text-muted); }
.ll-upgrade-link { color:var(--gold);font-weight:600; }
.ll-member-badge { display:inline-block;padding:8px 20px;background:linear-gradient(135deg,rgba(212,175,55,0.2),rgba(212,175,55,0.05));border:1px solid var(--border);border-radius:20px;font-size:14px;color:var(--gold);letter-spacing:0.5px;margin-top:16px; }

/* ══════════════════════════════════════
   TABS
══════════════════════════════════════ */
.ll-lotteries { padding: 60px 0 80px; background: var(--dark-2); }

.ll-tabs { display:flex;gap:0;background:var(--dark-4);border-radius:var(--r-lg);padding:6px;margin-bottom:48px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none; }
.ll-tabs::-webkit-scrollbar { display:none; }
.ll-tab {
  flex:1;min-width:100px;padding:14px 16px;background:transparent;border:none;cursor:pointer;
  border-radius:var(--r-md);display:flex;flex-direction:column;align-items:center;gap:4px;
  transition:all 0.25s ease;color:var(--text-muted);white-space:nowrap;
}
.ll-tab:hover { background:rgba(212,175,55,0.05);color:var(--text); }
.ll-tab-active { background:var(--dark-3) !important;color:var(--text) !important;box-shadow:0 2px 12px rgba(0,0,0,0.3); }
.ll-tab-icon { font-size:24px; }
.ll-tab-label { font-weight:600;font-size:15px;font-family:var(--font-body); }
.ll-tab-count { font-size:11px;color:var(--gold);font-family:var(--font-mono);opacity:0.8; }

.ll-lottery-panel { display:none; }
.ll-panel-active { display:block; }

.ll-panel-header { text-align:center;margin-bottom:40px; }
.ll-panel-header h2 { font-family:var(--font-serif);font-size:32px;font-weight:600;color:var(--text);margin-bottom:8px; }
.ll-panel-header p { color:var(--text-muted);font-size:16px; }

/* ══════════════════════════════════════
   GAME CARDS
══════════════════════════════════════ */
.ll-games-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px; }

.ll-game-card {
  position:relative;
  background:var(--dark-3);
  border:1px solid var(--border-lt);
  border-radius:var(--r-xl);
  padding:28px;
  overflow:hidden;
  transition:transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.ll-game-card::before {
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(135deg, rgba(var(--game-color, 212,175,55), 0.04) 0%, transparent 60%);
  pointer-events:none;
}
.ll-game-card:hover {
  transform:translateY(-4px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.4), 0 0 0 1px var(--border);
  border-color:var(--border);
}
.ll-card-glow {
  position:absolute;top:-60px;right:-60px;width:200px;height:200px;
  background:radial-gradient(circle, var(--game-color, #D4AF37) 0%, transparent 70%);
  opacity:0.04;pointer-events:none;border-radius:50%;
  transition:opacity 0.3s ease;
}
.ll-game-card:hover .ll-card-glow { opacity:0.08; }

.ll-card-header { display:flex;align-items:flex-start;gap:14px;margin-bottom:14px; }
.ll-card-logo { font-size:36px;line-height:1;flex-shrink:0; }
.ll-card-meta { flex:1; }
.ll-card-name { font-family:var(--font-serif);font-size:22px;font-weight:600;color:var(--text);line-height:1.2; }
.ll-card-type { display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:0.5px;font-family:var(--font-mono);margin-top:4px; }
.ll-type-jackpot  { background:rgba(212,175,55,0.15);color:var(--gold); }
.ll-type-terminal { background:rgba(0,212,255,0.1);color:var(--electric); }
.ll-type-annuity  { background:rgba(0,200,81,0.1);color:var(--green); }
.ll-card-jackpot { text-align:right;flex-shrink:0; }
.ll-jackpot-label { display:block;font-size:10px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:0.5px;text-transform:uppercase;margin-bottom:2px; }
.ll-jackpot-val { font-family:var(--font-display);font-size:18px;color:var(--gold); }

.ll-card-desc { font-size:14px;color:var(--text-muted);line-height:1.6;margin-bottom:16px; }

.ll-card-details { display:flex;flex-direction:column;gap:6px;margin-bottom:16px; }
.ll-detail { display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted); }
.ll-detail-icon { width:20px;text-align:center;flex-shrink:0; }
.ll-detail-text { font-family:var(--font-mono);font-size:12px; }

.ll-play-types { display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px; }
.ll-play-type { padding:3px 8px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:4px;font-size:11px;color:var(--text-muted);font-family:var(--font-mono); }

.ll-predict-btn {
  width:100%;padding:14px 20px;
  background:linear-gradient(135deg,rgba(212,175,55,0.15),rgba(212,175,55,0.05));
  border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--gold);
  transition:all 0.25s ease;letter-spacing:0.3px;
}
.ll-predict-btn:hover { background:linear-gradient(135deg,rgba(212,175,55,0.25),rgba(212,175,55,0.1));box-shadow:var(--glow-gold);border-color:var(--gold); }
.ll-predict-icon { font-size:18px; }
.ll-predict-text { flex:1;text-align:left; }
.ll-predict-arrow { margin-left:auto;transition:transform 0.2s ease; }
.ll-predict-btn:hover .ll-predict-arrow { transform:translateX(4px); }

/* ══════════════════════════════════════
   PREDICTION MODAL
══════════════════════════════════════ */
.ll-modal-overlay {
  position:fixed;inset:0;background:rgba(0,0,0,0.85);z-index:99999;
  display:none;align-items:center;justify-content:center;padding:20px;
  backdrop-filter:blur(4px);animation:ll-fade-in 0.2s ease;
}
.ll-modal-overlay.ll-open { display:flex; }
@keyframes ll-fade-in { from{opacity:0} to{opacity:1} }

.ll-modal {
  position:relative;width:100%;max-width:640px;max-height:90vh;overflow-y:auto;
  background:var(--dark-3);border:1px solid var(--border);border-radius:var(--r-xl);
  padding:36px;box-shadow:var(--shadow);animation:ll-slide-up 0.3s ease;
}
@keyframes ll-slide-up { from{transform:translateY(20px);opacity:0} to{transform:translateY(0);opacity:1} }

.ll-modal-close {
  position:absolute;top:16px;right:16px;width:36px;height:36px;
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);
  border-radius:50%;cursor:pointer;font-size:14px;color:var(--text-muted);
  transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;
}
.ll-modal-close:hover { background:rgba(255,255,255,0.1);color:var(--text); }

/* Loading */
.ll-neural-loader {
  width:120px;height:120px;position:relative;margin:0 auto 28px;
  display:flex;align-items:center;justify-content:center;
}
.ll-nn-ring {
  position:absolute;border-radius:50%;border:2px solid transparent;
  animation:ll-ring-spin 1.5s linear infinite;
}
.ll-nn-ring-1 { width:120px;height:120px;border-top-color:var(--gold);animation-duration:2s; }
.ll-nn-ring-2 { width:90px;height:90px;border-right-color:var(--electric);animation-duration:1.5s;animation-direction:reverse; }
.ll-nn-ring-3 { width:60px;height:60px;border-bottom-color:var(--purple);animation-duration:1s; }
@keyframes ll-ring-spin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
.ll-nn-core { font-size:28px;animation:ll-pulse 1s ease-in-out infinite; }
@keyframes ll-pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.1)} }

.ll-loading-text { text-align:center;font-family:var(--font-display);font-size:22px;color:var(--gold);letter-spacing:2px;margin-bottom:8px; }
.ll-loading-sub { text-align:center;font-family:var(--font-mono);font-size:13px;color:var(--text-muted); }

/* Result Header */
.ll-result-header { display:flex;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border-lt); }
.ll-result-game-logo { font-size:44px; }
.ll-result-game-info { flex:1; }
.ll-result-game-name { font-family:var(--font-serif);font-size:26px;font-weight:600;color:var(--text); }
.ll-result-game-draw { font-size:13px;color:var(--text-muted);font-family:var(--font-mono);margin-top:4px; }
.ll-result-confidence { text-align:center;background:linear-gradient(135deg,rgba(0,200,81,0.15),rgba(0,200,81,0.05));border:1px solid rgba(0,200,81,0.3);border-radius:var(--r-md);padding:12px 16px;min-width:80px; }
.ll-conf-value { display:block;font-family:var(--font-display);font-size:36px;color:var(--green);line-height:1; }
.ll-conf-label { font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase; }

/* Model Badge */
.ll-result-model { display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:var(--r-sm);padding:8px 14px;margin-bottom:24px;font-family:var(--font-mono);font-size:12px;color:var(--text-muted); }
.ll-model-icon { font-size:16px; }
.ll-model-name { color:var(--electric); }

/* Numbers Display */
.ll-numbers-display { text-align:center;margin-bottom:24px; }
.ll-numbers-label { font-family:var(--font-mono);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px; }
.ll-balls { display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:8px; }
.ll-ball {
  width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:20px;letter-spacing:1px;
  background:linear-gradient(145deg,var(--dark-4),var(--dark-5));
  border:2px solid var(--border);color:var(--gold);
  box-shadow:0 4px 15px rgba(0,0,0,0.3),inset 0 1px 0 rgba(255,255,255,0.05);
  animation:ll-ball-pop 0.4s cubic-bezier(0.175,0.885,0.32,1.275) backwards;
}
@keyframes ll-ball-pop { from{transform:scale(0);opacity:0} to{transform:scale(1);opacity:1} }
.ll-ball.ll-ball-bonus { background:linear-gradient(145deg,rgba(212,175,55,0.2),rgba(212,175,55,0.05));border-color:var(--gold);color:var(--gold-lt);box-shadow:0 4px 20px rgba(212,175,55,0.3); }
.ll-bonus-row { display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px; }
.ll-bonus-label { font-family:var(--font-mono);font-size:11px;color:var(--gold);letter-spacing:1px;text-transform:uppercase; }

/* Analysis */
.ll-analysis-section { background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.06);border-radius:var(--r-md);padding:18px;margin-bottom:20px; }
.ll-analysis-title { font-family:var(--font-mono);font-size:13px;color:var(--gold);margin-bottom:10px; }
.ll-analysis-text { font-size:14px;color:var(--text-muted);line-height:1.75; }

/* Stats Grid */
.ll-stats-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px; }
.ll-stat-card { background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.06);border-radius:var(--r-md);padding:14px; }
.ll-stat-label { font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:0.5px;margin-bottom:8px; }
.ll-stat-nums { display:flex;flex-wrap:wrap;gap:5px; }
.ll-stat-num { width:30px;height:30px;border-radius:50%;background:var(--dark-5);border:1px solid rgba(255,255,255,0.1);font-family:var(--font-display);font-size:14px;color:var(--text);display:flex;align-items:center;justify-content:center; }
.ll-pattern-info { display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.ll-pattern-name { font-size:12px;color:var(--electric);font-family:var(--font-mono);flex-shrink:0; }
.ll-pattern-bar-wrap { flex:1;height:4px;background:rgba(255,255,255,0.08);border-radius:2px;overflow:hidden;min-width:60px; }
.ll-pattern-bar { height:100%;background:linear-gradient(90deg,var(--electric),var(--purple));border-radius:2px;transition:width 1s ease 0.5s; }
.ll-pattern-score { font-family:var(--font-mono);font-size:12px;color:var(--electric);flex-shrink:0; }

/* Buttons */
.ll-result-actions { display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px; }
.ll-btn {
  padding:11px 20px;border-radius:var(--r-md);border:none;cursor:pointer;
  font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:0.3px;
  transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px;
}
.ll-btn-primary { background:linear-gradient(135deg,var(--gold),var(--gold-dk));color:#000;box-shadow:0 4px 15px rgba(212,175,55,0.3); }
.ll-btn-primary:hover { background:linear-gradient(135deg,var(--gold-lt),var(--gold));box-shadow:0 6px 25px rgba(212,175,55,0.4);transform:translateY(-1px); }
.ll-btn-secondary { background:rgba(212,175,55,0.12);border:1px solid var(--border);color:var(--gold); }
.ll-btn-secondary:hover { background:rgba(212,175,55,0.2);border-color:var(--gold); }
.ll-btn-ghost { background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:var(--text-muted); }
.ll-btn-ghost:hover { background:rgba(255,255,255,0.08);color:var(--text); }
.ll-full-width { width:100%; }

.ll-disclaimer { font-size:11px;color:rgba(255,255,255,0.25);text-align:center;font-family:var(--font-mono);line-height:1.6; }

/* ══════════════════════════════════════
   LIMIT / PAYWALL MODAL
══════════════════════════════════════ */
.ll-modal-limit { text-align:center; }
.ll-limit-icon { font-size:56px;margin-bottom:16px;filter:grayscale(0.3); }
.ll-limit-title { font-family:var(--font-serif);font-size:28px;font-weight:600;color:var(--text);margin-bottom:12px; }
.ll-limit-text { color:var(--text-muted);font-size:15px;line-height:1.7;margin-bottom:28px; }

.ll-plans-mini { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px; }
.ll-plan-mini {
  background:var(--dark-4);border:1px solid var(--border-lt);border-radius:var(--r-lg);
  padding:20px 16px;text-align:center;position:relative;overflow:hidden;
}
.ll-plan-mini-pop { border-color:var(--gold);background:linear-gradient(135deg,rgba(212,175,55,0.08),var(--dark-4)); }
.ll-plan-badge { position:absolute;top:0;right:0;background:var(--gold);color:#000;font-size:9px;font-weight:700;padding:3px 8px;border-bottom-left-radius:var(--r-sm);letter-spacing:0.5px; }
.ll-plan-name { font-family:var(--font-display);font-size:22px;color:var(--text);letter-spacing:2px;margin-bottom:4px; }
.ll-plan-price { font-family:var(--font-serif);font-size:28px;color:var(--gold);margin-bottom:12px; }
.ll-plan-price span { font-size:14px;color:var(--text-muted); }
.ll-plan-features { list-style:none;text-align:left;margin-bottom:16px; }
.ll-plan-features li { font-size:12px;color:var(--text-muted);padding:3px 0;font-family:var(--font-mono); }
.ll-full-subscribe-link { font-size:13px;color:var(--gold);opacity:0.7; }
.ll-full-subscribe-link:hover { opacity:1; }

/* ══════════════════════════════════════
   SUBSCRIBE OVERLAY (EMAIL CAPTURE)
══════════════════════════════════════ */
.ll-sub-overlay {
  position:fixed;inset:0;background:rgba(0,0,0,0.9);z-index:999999;
  display:flex;align-items:center;justify-content:center;padding:20px;
  backdrop-filter:blur(6px);
}
.ll-sub-box {
  background:var(--dark-3);border:1px solid var(--border);border-radius:var(--r-xl);
  padding:40px;max-width:420px;width:100%;text-align:center;position:relative;
  animation:ll-slide-up 0.3s ease;
}
.ll-sub-box h3 { font-family:var(--font-serif);font-size:26px;font-weight:600;color:var(--text);margin-bottom:12px; }
.ll-sub-box p { color:var(--text-muted);font-size:15px;margin-bottom:20px;line-height:1.6; }
.ll-input {
  width:100%;padding:14px 16px;background:var(--dark-4);border:1px solid var(--border);
  border-radius:var(--r-md);color:var(--text);font-family:var(--font-body);font-size:15px;
  outline:none;margin-bottom:12px;transition:border-color 0.2s ease;
}
.ll-input:focus { border-color:var(--gold); }
.ll-sub-secure { font-size:12px;color:var(--text-muted);margin-top:12px;font-family:var(--font-mono); }

/* ══════════════════════════════════════
   FEATURES SECTION
══════════════════════════════════════ */
.ll-features { padding:80px 0;background:var(--dark); }
.ll-section-title { font-family:var(--font-serif);font-size:36px;font-weight:600;color:var(--text);text-align:center;margin-bottom:48px; }
.ll-features-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px; }
.ll-feature {
  padding:28px;background:var(--dark-3);border:1px solid var(--border-lt);border-radius:var(--r-lg);
  transition:transform 0.2s ease,box-shadow 0.2s ease;
}
.ll-feature:hover { transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,0.3); }
.ll-feature-icon { font-size:36px;margin-bottom:16px; }
.ll-feature h3 { font-family:var(--font-serif);font-size:20px;font-weight:600;color:var(--text);margin-bottom:10px; }
.ll-feature p { font-size:14px;color:var(--text-muted);line-height:1.7; }

/* ══════════════════════════════════════
   SUBSCRIBE PAGE
══════════════════════════════════════ */
.ll-subscribe-page { max-width:900px;margin:0 auto;padding:60px 24px; }
.ll-sub-hero { text-align:center;margin-bottom:48px; }
.ll-sub-icon { font-size:64px;margin-bottom:16px; }
.ll-sub-hero h1 { font-family:var(--font-serif);font-size:40px;font-weight:600;color:var(--text);margin-bottom:12px; }
.ll-sub-hero p { font-size:17px;color:var(--text-muted); }

.ll-plans-grid { display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px; }
.ll-plan-card {
  background:var(--dark-3);border:1px solid var(--border-lt);border-radius:var(--r-xl);
  padding:36px;position:relative;overflow:hidden;
}
.ll-plan-featured { border-color:var(--gold);background:linear-gradient(135deg,rgba(212,175,55,0.06),var(--dark-3)); }
.ll-plan-ribbon { position:absolute;top:0;left:0;background:var(--gold);color:#000;font-size:10px;font-weight:700;padding:5px 16px;border-bottom-right-radius:var(--r-sm);letter-spacing:1px; }
.ll-plan-icon { font-size:40px;margin-bottom:16px; }
.ll-plan-title { font-family:var(--font-display);font-size:28px;letter-spacing:3px;color:var(--text);margin-bottom:8px; }
.ll-plan-pricing { display:flex;align-items:baseline;gap:2px;margin-bottom:8px; }
.ll-plan-dollar { font-family:var(--font-serif);font-size:20px;color:var(--gold); }
.ll-plan-amount { font-family:var(--font-display);font-size:52px;color:var(--gold);line-height:1; }
.ll-plan-period { font-size:15px;color:var(--text-muted);margin-left:4px; }
.ll-plan-savings { display:inline-block;background:rgba(0,200,81,0.15);border:1px solid rgba(0,200,81,0.3);color:var(--green);padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;margin-bottom:20px;font-family:var(--font-mono); }
.ll-plan-list { list-style:none;margin-bottom:28px; }
.ll-plan-list li { padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.04);font-size:14px;color:var(--text-muted);display:flex;align-items:center;gap:10px; }
.ll-check { color:var(--gold);font-weight:700;flex-shrink:0; }

.ll-trust-row { display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-bottom:30px; }
.ll-trust-item { font-family:var(--font-mono);font-size:12px;color:var(--text-muted);padding:8px 16px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:var(--r-sm); }
.ll-sub-disclaimer { font-size:12px;color:rgba(255,255,255,0.25);text-align:center;line-height:1.7;font-family:var(--font-mono);max-width:600px;margin:0 auto; }

/* ══════════════════════════════════════
   ACCOUNT PAGE
══════════════════════════════════════ */
.ll-account-page { max-width:800px;margin:0 auto;padding:60px 24px; }
.ll-account-guest { text-align:center;padding:60px 0; }
.ll-account-icon { font-size:64px;margin-bottom:16px; }
.ll-account-guest h2 { font-family:var(--font-serif);font-size:32px;font-weight:600;color:var(--text);margin-bottom:12px; }
.ll-account-header { display:flex;align-items:center;gap:20px;margin-bottom:32px;padding:24px;background:var(--dark-3);border:1px solid var(--border-lt);border-radius:var(--r-lg); }
.ll-avatar-img { border-radius:50%;border:2px solid var(--border); }
.ll-account-info h2 { font-family:var(--font-serif);font-size:24px;font-weight:600;color:var(--text); }
.ll-account-info p { color:var(--text-muted);font-size:14px;font-family:var(--font-mono); }
.ll-member-badge-small { display:inline-block;margin-top:6px;padding:3px 10px;background:rgba(212,175,55,0.15);border:1px solid var(--border);border-radius:20px;font-size:12px;color:var(--gold); }
.ll-free-badge { display:inline-block;margin-top:6px;padding:3px 10px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:20px;font-size:12px;color:var(--text-muted); }
.ll-account-grid { display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px; }
.ll-account-card { background:var(--dark-3);border:1px solid var(--border-lt);border-radius:var(--r-lg);padding:24px; }
.ll-account-card h3 { font-family:var(--font-mono);font-size:14px;color:var(--gold);margin-bottom:16px;letter-spacing:0.5px; }
.ll-sub-row { display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.04);font-size:14px; }
.ll-sub-row span { color:var(--text-muted); }
.ll-sub-row strong { color:var(--text); }
.ll-status-active { color:var(--green) !important; }
.ll-status-cancelled { color:var(--crimson) !important; }
.ll-usage-unlimited { color:var(--gold);font-family:var(--font-mono);font-size:14px;padding:8px 0; }
.ll-usage-bar-wrap { height:6px;background:rgba(255,255,255,0.08);border-radius:3px;margin-bottom:10px;overflow:hidden; }
.ll-usage-bar { height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-lt));border-radius:3px; }
.ll-account-actions { display:flex;gap:12px;flex-wrap:wrap; }

/* ══════════════════════════════════════
   ALERTS
══════════════════════════════════════ */
.ll-alert { padding:14px 20px;border-radius:var(--r-md);margin-bottom:24px;font-size:14px;font-family:var(--font-mono); }
.ll-alert-success { background:rgba(0,200,81,0.1);border:1px solid rgba(0,200,81,0.3);color:var(--green); }
.ll-alert-info    { background:rgba(0,212,255,0.1);border:1px solid rgba(0,212,255,0.3);color:var(--electric); }
.ll-alert-error   { background:rgba(192,57,43,0.1);border:1px solid rgba(192,57,43,0.3);color:#FF6B6B; }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media (max-width: 768px) {
  .ll-games-grid { grid-template-columns:1fr; }
  .ll-tabs { flex-direction:row;gap:4px; }
  .ll-tab-label { font-size:13px; }
  .ll-modal { padding:24px; }
  .ll-stats-grid { grid-template-columns:1fr; }
  .ll-plans-mini { grid-template-columns:1fr; }
  .ll-plans-grid { grid-template-columns:1fr; }
  .ll-result-actions { flex-direction:column; }
  .ll-result-header { flex-wrap:wrap; }
  .ll-account-grid { grid-template-columns:1fr; }
  .ll-logo-lucky, .ll-logo-lottos { font-size:32px; }
  .ll-hero-title { font-size:28px; }
}

@media (max-width: 480px) {
  .ll-tab-label { display:none; }
  .ll-tab { padding:12px; }
  .ll-game-card { padding:20px; }
}

/* ══════════════════════════════════════
   ROUTED STATE PAGES (/lottery/ny/ etc)
══════════════════════════════════════ */

/* Breadcrumb */
.ll-breadcrumb {
  display:flex;align-items:center;gap:8px;justify-content:center;
  font-family:var(--font-mono);font-size:12px;color:var(--text-muted);
  margin-bottom:16px;flex-wrap:wrap;
}
.ll-breadcrumb a { color:var(--gold);opacity:0.7;transition:opacity 0.2s; }
.ll-breadcrumb a:hover { opacity:1; }
.ll-bc-sep { opacity:0.4; }

/* State nav pills */
.ll-state-nav {
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:24px;
}
.ll-state-pill {
  padding:7px 16px;border-radius:20px;font-size:13px;font-weight:600;
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);
  color:var(--text-muted);transition:all 0.2s ease;cursor:pointer;text-decoration:none;
}
.ll-state-pill:hover { background:rgba(212,175,55,0.1);border-color:var(--border);color:var(--gold); }
.ll-state-pill-active {
  background:linear-gradient(135deg,rgba(212,175,55,0.2),rgba(212,175,55,0.05));
  border-color:var(--gold);color:var(--gold);
}

/* Hero badges as links */
.ll-hero-badges a.ll-badge { text-decoration:none;transition:opacity 0.2s,transform 0.2s; }
.ll-hero-badges a.ll-badge:hover { opacity:0.85;transform:translateY(-1px); }

/* Compact hero for single-game pages */
.ll-hero-compact { min-height:300px;padding:50px 24px 40px; }
.ll-hero-game-header { display:flex;align-items:center;gap:16px;justify-content:center;margin-bottom:16px; }
.ll-hero-game-logo { font-size:52px; }
.ll-hero-title-sm { font-family:var(--font-serif);font-size:clamp(24px,4vw,40px);font-weight:600;color:var(--text);text-align:left;margin-bottom:6px; }

/* State page — no tab bar needed */
.ll-state-page { padding-top:48px; }

/* Single game centered layout */
.ll-single-game-wrap { max-width:500px; }
.ll-back-link { margin-top:20px;text-align:center; }
.ll-back-link a { font-family:var(--font-mono);font-size:13px;color:var(--gold);opacity:0.7; }
.ll-back-link a:hover { opacity:1; }

/* Not-found state */
.ll-not-found { text-align:center;padding:80px 0; }
.ll-nf-icon { font-size:56px;margin-bottom:16px; }
.ll-not-found h2 { font-family:var(--font-serif);font-size:28px;font-weight:600;color:var(--text);margin-bottom:12px; }
.ll-not-found p { color:var(--text-muted);margin-bottom:24px; }
