/* LuckSynth Tools Plugin — tools.css */
:root {
  --lst-gold:   #f4c430; --lst-gold2:  #ff9d00;
  --lst-red:    #ff4757; --lst-green:  #2ed573;
  --lst-purple: #a29bfe; --lst-blue:   #4facfe;
  --lst-card:   #161632; --lst-border: rgba(255,255,255,0.08);
  --lst-muted:  #9090b8; --lst-bg:     #07071a;
  --lst-light:  #f8f7f2; --lst-dark:   #12122a;
  --lst-lmuted: #6b6b8a; --lst-lborder:rgba(18,18,42,0.1);
}

/* ── SHARED TOOL STYLES ──────────────────────────────────────── */
.lst-tool { margin: 0 auto; max-width: 900px; }

/* ── BALLS ───────────────────────────────────────────────────── */
.lst-ball {
  width: 64px; height: 64px; border-radius: 50%; display: inline-flex;
  align-items: center; justify-content: center; font-family: 'Bebas Neue', cursive;
  font-size: 26px; opacity: 0; transform: translateY(20px) scale(0.8);
  transition: all 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
.lst-ball.shown { opacity: 1; transform: translateY(0) scale(1); }
.lst-ball:hover { transform: scale(1.1) rotate(5deg); }
.lst-ball-white { background: linear-gradient(145deg,#fff,#e0e0e0); color: #07071a; box-shadow: 0 6px 20px rgba(255,255,255,0.2); }
.lst-ball-bonus { background: linear-gradient(145deg,#ff4757,#c0392b); color: white; box-shadow: 0 6px 20px rgba(255,71,87,0.4); }
.lst-ball-sep   { font-size: 22px; opacity: 0.3; color: var(--lst-muted); margin: 0 4px; }
.lst-balls-display { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; min-height: 90px; margin-bottom: 28px; }
.lst-placeholder { color: var(--lst-muted); font-size: 15px; }

/* ── GENERATOR ───────────────────────────────────────────────── */
.lst-generator { text-align: center; }
.lst-game-selector { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-bottom: 32px; }
.lst-game-btn { background: var(--lst-card); border: 1px solid var(--lst-border); color: var(--lst-muted); padding: 9px 20px; border-radius: 100px; font-size: 13px; font-weight: 600; transition: all 0.2s; }
.lst-game-btn:hover, .lst-game-btn.active { background: rgba(244,196,48,0.12); border-color: var(--lst-gold); color: var(--lst-gold); }
.lst-gen-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.lst-btn-primary  { background: linear-gradient(135deg,var(--lst-gold),var(--lst-gold2)); color: #07071a; padding: 13px 28px; border-radius: 8px; border: none; font-size: 15px; font-weight: 700; transition: all 0.25s; box-shadow: 0 6px 25px rgba(244,196,48,0.3); }
.lst-btn-primary:hover  { transform: translateY(-2px); box-shadow: 0 10px 35px rgba(244,196,48,0.45); }
.lst-btn-secondary { background: rgba(255,255,255,0.06); color: white; border: 1px solid var(--lst-border); padding: 13px 24px; border-radius: 8px; font-size: 15px; font-weight: 600; transition: all 0.25s; }
.lst-btn-secondary:hover { background: rgba(255,255,255,0.1); }

/* ── FORTUNE ─────────────────────────────────────────────────── */
.lst-fortune-reader { text-align: center; }
.lst-fortune-orb { font-size: 72px; display: block; margin: 0 auto 24px; animation: orbFloat 4s ease-in-out infinite; }
@keyframes orbFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
.lst-label { display: block; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--lst-purple); margin-bottom: 12px; }
.lst-fortune-textarea { width: 100%; background: rgba(255,255,255,0.04); border: 1.5px solid rgba(162,155,254,0.2); border-radius: 12px; padding: 16px 18px; color: white; font-family: 'Outfit', sans-serif; font-size: 15px; line-height: 1.6; resize: none; outline: none; min-height: 110px; transition: border-color 0.3s; }
.lst-fortune-textarea:focus { border-color: rgba(162,155,254,0.5); }
.lst-fortune-textarea::placeholder { color: rgba(255,255,255,0.25); font-style: italic; }
.lst-char-count { font-size: 11px; color: var(--lst-muted); text-align: right; margin: 6px 0 16px; }
.lst-fortune-suggestions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-bottom: 20px; }
.lst-sug-btn { background: rgba(162,155,254,0.07); border: 1px solid rgba(162,155,254,0.2); color: rgba(255,255,255,0.65); padding: 7px 14px; border-radius: 100px; font-size: 13px; transition: all 0.2s; }
.lst-sug-btn:hover { background: rgba(162,155,254,0.15); border-color: var(--lst-purple); color: white; }
.lst-game-row { display: flex; gap: 10px; justify-content: center; margin-bottom: 24px; flex-wrap: wrap; }
.lst-game-chip { background: rgba(255,255,255,0.05); border: 1.5px solid var(--lst-border); color: var(--lst-muted); padding: 8px 18px; border-radius: 100px; font-size: 13px; font-weight: 600; transition: all 0.2s; }
.lst-game-chip.active, .lst-game-chip:hover { background: rgba(244,196,48,0.1); border-color: var(--lst-gold); color: var(--lst-gold); }
.lst-btn-fortune { width: 100%; background: linear-gradient(135deg,#7c3aed,var(--lst-purple)); color: white; padding: 16px; border-radius: 10px; border: none; font-size: 17px; font-weight: 800; box-shadow: 0 8px 30px rgba(124,58,237,0.4); transition: all 0.3s; }
.lst-btn-fortune:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 12px 40px rgba(124,58,237,0.5); }
.lst-btn-fortune:disabled { opacity: 0.4; cursor: not-allowed; }
.lst-fortune-loading { text-align: center; padding: 40px; }
.lst-spinner { font-size: 52px; display: block; margin: 0 auto 16px; animation: spinOrb 2s linear infinite; }
@keyframes spinOrb { to{transform:rotate(360deg)} }
.lst-loading-text { color: var(--lst-muted); font-style: italic; animation: loadPulse 1.5s ease-in-out infinite; }
@keyframes loadPulse { 0%,100%{opacity:0.4} 50%{opacity:1} }
.lst-fortune-card { background: var(--lst-card); border: 1px solid rgba(162,155,254,0.3); border-radius: 20px; padding: 36px; margin-bottom: 20px; text-align: center; }
.lst-fortune-badge { display: inline-block; background: rgba(162,155,254,0.12); border: 1px solid rgba(162,155,254,0.3); border-radius: 100px; padding: 5px 16px; font-size: 12px; font-weight: 700; color: var(--lst-purple); letter-spacing: 1px; text-transform: uppercase; margin-bottom: 20px; }
.lst-fortune-symbol { font-size: 48px; display: block; margin-bottom: 16px; }
.lst-fortune-body { font-family: 'Playfair Display', serif; font-size: 17px; line-height: 1.85; color: rgba(255,255,255,0.88); font-style: italic; }
.lst-lucky-nums-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(244,196,48,0.2); border-radius: 16px; padding: 28px; text-align: center; }
.lst-ln-label { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--lst-gold); margin-bottom: 20px; }
.lst-ln-balls { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.lst-ln-copy { background: transparent; border: 1.5px solid rgba(244,196,48,0.4); color: var(--lst-gold); padding: 9px 24px; border-radius: 7px; font-size: 13px; font-weight: 700; transition: all 0.2s; }
.lst-ln-copy:hover { background: rgba(244,196,48,0.1); }

/* ── TAX CALCULATOR ──────────────────────────────────────────── */
.lst-tax-calc { background: white; border-radius: 20px; overflow: hidden; box-shadow: 0 8px 40px rgba(18,18,42,0.1); }
.lst-tax-inputs { padding: 32px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; border-bottom: 1.5px solid var(--lst-lborder); }
@media(max-width:700px){.lst-tax-inputs{grid-template-columns:1fr}}
.lst-tax-inputs .lst-field label { display: block; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--lst-lmuted); margin-bottom: 8px; }
.lst-input-lg { width: 100%; padding: 13px 15px; border: 2px solid var(--lst-lborder); border-radius: 10px; font-family: 'Outfit', sans-serif; font-size: 20px; font-weight: 700; color: var(--lst-dark); background: var(--lst-light); outline: none; }
.lst-input-lg:focus { border-color: var(--lst-gold2); }
.lst-select { width: 100%; padding: 13px 15px; border: 2px solid var(--lst-lborder); border-radius: 10px; font-family: 'Outfit', sans-serif; font-size: 14px; font-weight: 600; color: var(--lst-dark); background: var(--lst-light); outline: none; -webkit-appearance: none; }
.lst-select:focus { border-color: var(--lst-gold2); }
.lst-toggle-row { display: flex; background: var(--lst-light); border-radius: 10px; padding: 4px; border: 2px solid var(--lst-lborder); }
.lst-toggle-btn { flex: 1; padding: 10px; border: none; border-radius: 7px; font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 700; transition: all 0.2s; background: transparent; color: var(--lst-lmuted); }
.lst-toggle-btn.active { background: var(--lst-dark); color: white; }
.lst-tax-results { padding: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media(max-width:560px){.lst-tax-results{grid-template-columns:1fr}}
.lst-tax-card { background: var(--lst-light); border-radius: 12px; padding: 20px; }
.lst-rc-label { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--lst-lmuted); margin-bottom: 14px; }
.lst-rc-row { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--lst-lborder); font-size: 13px; color: var(--lst-dark); }
.lst-rc-row:last-child { border-bottom: none; font-weight: 700; font-size: 15px; padding-top: 12px; }
.lst-rc-total .lst-pos { font-size: 18px; font-weight: 800; color: #1a7a4a; }
.lst-neg { color: #cc3333; font-weight: 600; }
.lst-verdict { margin: 0 28px 28px; background: linear-gradient(135deg,rgba(244,196,48,0.1),rgba(255,157,0,0.07)); border: 2px solid rgba(244,196,48,0.35); border-radius: 12px; padding: 20px; text-align: center; }
.lst-verdict-label { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--lst-gold2); margin-bottom: 8px; }
.lst-verdict p { font-size: 14px; color: var(--lst-dark); font-weight: 500; line-height: 1.6; }

/* ── HOROSCOPE ───────────────────────────────────────────────── */
.lst-zodiac-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 10px; margin-bottom: 28px; }
@media(max-width:600px){.lst-zodiac-grid{grid-template-columns:repeat(4,1fr)}}
.lst-zodiac-btn { background: var(--lst-card); border: 1px solid var(--lst-border); border-radius: 12px; padding: 14px 6px; text-align: center; transition: all 0.2s; }
.lst-zodiac-btn:hover, .lst-zodiac-btn.active { background: rgba(162,155,254,0.12); border-color: rgba(162,155,254,0.5); }
.lst-sign-icon { font-size: 22px; display: block; margin-bottom: 5px; }
.lst-sign-name { font-size: 10px; font-weight: 700; color: var(--lst-muted); letter-spacing: 0.5px; text-transform: uppercase; }
.lst-zodiac-result { background: var(--lst-card); border: 1px solid rgba(162,155,254,0.3); border-radius: 14px; padding: 28px; }
.lst-zodiac-reading { font-size: 15px; color: var(--lst-muted); line-height: 1.8; margin-bottom: 24px; }
.lst-lucky-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.lst-lucky-label { font-size: 11px; font-weight: 700; color: var(--lst-gold); letter-spacing: 1.5px; text-transform: uppercase; }
.lst-lucky-ball { width: 50px; height: 50px; border-radius: 50%; background: linear-gradient(145deg,var(--lst-purple),#6c5ce7); display: flex; align-items: center; justify-content: center; font-family: 'Bebas Neue', cursive; font-size: 21px; color: white; box-shadow: 0 5px 18px rgba(162,155,254,0.4); }
.lst-lucky-ball-gold { background: linear-gradient(145deg,var(--lst-gold),var(--lst-gold2)); color: #07071a; }

/* ── HOT & COLD ──────────────────────────────────────────────── */
.lst-hc-tabs { display: flex; background: white; border-radius: 10px; padding: 4px; border: 2px solid var(--lst-lborder); width: fit-content; margin-bottom: 28px; }
.lst-hc-tab { padding: 9px 24px; border-radius: 7px; border: none; font-family: 'Outfit', sans-serif; font-size: 13px; font-weight: 700; transition: all 0.2s; background: transparent; color: var(--lst-lmuted); }
.lst-hc-tab.active { background: var(--lst-dark); color: white; }
.lst-numbers-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px,1fr)); gap: 10px; margin-bottom: 16px; }
.lst-num-cell { background: white; border: 2px solid var(--lst-lborder); border-radius: 10px; padding: 12px 6px; text-align: center; }
.lst-num-n { font-family: 'Bebas Neue', cursive; font-size: 22px; display: block; color: var(--lst-dark); }
.lst-num-bar { height: 4px; border-radius: 2px; margin: 6px auto 4px; max-width: 46px; }
.lst-num-pct { font-size: 10px; color: var(--lst-lmuted); }
.lst-num-hot { border-color: rgba(255,71,87,0.4); background: #fff6f7; }
.lst-num-hot .lst-num-n { color: #ff4757; }
.lst-num-hot .lst-num-bar { background: #ff4757; }
.lst-num-cold { border-color: rgba(79,172,254,0.35); background: #f4f9ff; }
.lst-num-cold .lst-num-n { color: #0077cc; }
.lst-num-cold .lst-num-bar { background: #4facfe; }
.lst-hc-note { font-size: 12px; color: var(--lst-lmuted); }

/* ── PREMIUM PLANS ───────────────────────────────────────────── */
.lst-plans-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media(max-width:600px){.lst-plans-grid{grid-template-columns:1fr}}
.lst-plan { background: white; border: 2px solid var(--lst-lborder); border-radius: 20px; padding: 36px; }
.lst-plan.featured { border-color: var(--lst-gold2); box-shadow: 0 12px 50px rgba(244,196,48,0.15); }
.lst-plan-name { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 16px; color: #1a7a4a; }
.lst-plan.featured .lst-plan-name { color: var(--lst-gold2); }
.lst-price-amount { font-family: 'Bebas Neue', cursive; font-size: 52px; color: var(--lst-dark); }
.lst-price-gold { background: linear-gradient(135deg,var(--lst-gold),var(--lst-gold2)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.lst-price-period { font-size: 14px; color: var(--lst-lmuted); margin-left: 4px; }
.lst-plan-features { display: flex; flex-direction: column; gap: 12px; margin: 24px 0 28px; font-size: 13px; color: var(--lst-dark); }
.lst-plan-btn-free { width: 100%; padding: 13px; border-radius: 8px; font-size: 14px; font-weight: 700; background: transparent; border: 2px solid var(--lst-dark); color: var(--lst-dark); transition: all 0.2s; display: block; text-align: center; }
.lst-plan-btn-free:hover { background: var(--lst-dark); color: white; }
.lst-plan-btn-gold { width: 100%; padding: 13px; border-radius: 8px; font-size: 14px; font-weight: 700; background: linear-gradient(135deg,var(--lst-gold),var(--lst-gold2)); color: #07071a; border: none; box-shadow: 0 4px 20px rgba(244,196,48,0.3); transition: all 0.2s; display: block; text-align: center; }
.lst-plan-btn-gold:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(244,196,48,0.4); }

/* ── TICKER ──────────────────────────────────────────────────── */
.lst-ticker-wrap { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.06); overflow: hidden; }
.lst-ticker { display: flex; animation: lstTicker 35s linear infinite; width: max-content; }
@keyframes lstTicker { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.lst-ticker-item { display: flex; align-items: center; gap: 12px; padding: 12px 36px; border-right: 1px solid rgba(255,255,255,0.06); white-space: nowrap; }
.lst-ticker-game   { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--lst-muted); }
.lst-ticker-amount { font-family: 'Bebas Neue', cursive; font-size: 24px; background: linear-gradient(135deg,var(--lst-gold),var(--lst-gold2)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.lst-ticker-next   { font-size: 11px; color: var(--lst-muted); }

/* ── STATES GRID ─────────────────────────────────────────────── */
.lst-states-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px,1fr)); gap: 10px; }
.lst-state-chip { background: var(--lst-card); border: 1px solid var(--lst-border); border-radius: 8px; padding: 12px; text-align: center; transition: all 0.2s; }
.lst-state-chip:hover { border-color: var(--lst-gold); color: var(--lst-gold); transform: translateY(-2px); }
.lst-state-abbr { font-family: 'Bebas Neue', cursive; font-size: 22px; display: block; }
.lst-state-name { font-size: 10px; color: var(--lst-muted); }

/* ── SCANNER ─────────────────────────────────────────────────── */
.lst-scan-drop { background: white; border: 2px dashed rgba(79,172,254,0.5); border-radius: 18px; padding: 52px 36px; text-align: center; transition: all 0.3s; }
.lst-scan-drop:hover { border-color: #4facfe; transform: translateY(-2px); }
.lst-scan-drop h3 { font-size: 20px; font-weight: 700; color: var(--lst-dark); margin: 12px 0 8px; }
.lst-scan-drop p  { font-size: 14px; color: var(--lst-lmuted); }
