/* SPOKAZ LOTTO */
.spk-lt-wrap { max-width:100%; display:flex; flex-direction:column; gap:8px; }

.spk-lt-title-bar { background:linear-gradient(135deg, #0c2d5e, #1a6dff); border-radius:var(--spk-radius); padding:10px 18px; display:flex; align-items:center; justify-content:space-between; color:#fff; }
.spk-lt-game-num { font-size:16px; font-weight:900; }
.spk-lt-game-num .num { color:#ffcc33; font-size:20px; }
.spk-lt-phase-info { font-size:12px; color:#8aa; }

.spk-lt-timer { background:linear-gradient(135deg,#0a1628,#1a2d50); border-radius:10px; padding:8px 14px; display:flex; align-items:center; gap:10px; color:#fff; }
.spk-lt-timer-dot { width:8px;height:8px;border-radius:50%;background:var(--spk-green);box-shadow:0 0 6px var(--spk-green);animation:spkPulse 1.5s ease infinite; }
.spk-lt-timer-dot.betting { background:var(--spk-accent);box-shadow:0 0 6px var(--spk-accent); }
.spk-lt-timer-dot.drawing { background:var(--spk-red);box-shadow:0 0 6px var(--spk-red); }
.spk-lt-timer-dot.result { background:#0abf53;box-shadow:0 0 6px #0abf53; }
.spk-lt-label { font-size:12px;font-weight:700; }
.spk-lt-countdown { font-size:18px;font-weight:900;color:var(--spk-accent);font-variant-numeric:tabular-nums;min-width:48px; }
.spk-lt-progress { flex:1;height:3px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden; }
.spk-lt-progress-bar { height:100%;background:linear-gradient(90deg,#1a6dff,#ffcc33);transition:width 1s linear; }
.spk-lt-round-tag { font-size:10px;color:#8aa;background:rgba(255,255,255,.08);padding:2px 8px;border-radius:10px; }

.spk-lt-game { display:flex; gap:10px; align-items:flex-start; }
.spk-lt-left { flex:0 0 500px; width:500px; display:flex; flex-direction:column; gap:8px; }
.spk-lt-right { flex:1; min-width:0; display:flex; flex-direction:column; gap:8px; }

/* 드로우 영역 */
.spk-lt-draw-area { background:var(--spk-card); border-radius:var(--spk-radius); box-shadow:var(--spk-shadow); padding:20px; text-align:center; }
.spk-lt-draw-title { font-size:13px; font-weight:800; color:var(--spk-text); margin-bottom:12px; }
.spk-lt-balls { display:flex; justify-content:center; gap:10px; margin-bottom:16px; }
.spk-lt-ball { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:900; color:#fff; background:linear-gradient(135deg,#ddd,#bbb); box-shadow:inset 0 -3px 6px rgba(0,0,0,.15),0 4px 12px rgba(0,0,0,.1); transition:all .5s; }
.spk-lt-ball.drawn { animation:ltBallPop .6s ease; }
/* 볼 색상은 하단 mini-ball과 함께 정의 */
.spk-lt-ball.hidden { background:linear-gradient(135deg,#ccc,#999); color:#999; }

/* 롤링 중 */
.spk-lt-ball.rolling {
    background:linear-gradient(135deg,#fff,#eee);
    color:#333;
    animation: ltRolling .1s ease infinite;
    box-shadow: 0 0 20px rgba(255,204,51,.4);
}

/* 공개 팝! */
.spk-lt-ball.reveal-pop {
    animation: ltRevealPop 1s cubic-bezier(.17,.67,.35,1.2);
}

/* 내 번호 일치 시 반짝 */
.spk-lt-ball.matched-flash {
    animation: ltRevealPop 1s cubic-bezier(.17,.67,.35,1.2), ltMatchFlash 1.5s ease 1s infinite;
}

@keyframes ltBallPop { 0%{transform:scale(0) rotate(-30deg)} 50%{transform:scale(1.2) rotate(5deg)} 100%{transform:scale(1)} }

@keyframes ltRolling {
    0% { transform: translateY(-2px) rotate(-3deg); }
    50% { transform: translateY(2px) rotate(3deg); }
    100% { transform: translateY(-2px) rotate(-3deg); }
}

@keyframes ltRevealPop {
    0% { transform: scale(0.3) rotate(-20deg); opacity:0; }
    30% { transform: scale(1.4) rotate(5deg); opacity:1; box-shadow: 0 0 40px rgba(255,204,51,.8); }
    50% { transform: scale(0.9) rotate(-2deg); }
    70% { transform: scale(1.1); }
    100% { transform: scale(1) rotate(0); }
}

@keyframes ltMatchFlash {
    0%,100% { box-shadow: 0 0 10px rgba(255,204,51,.3); }
    50% { box-shadow: 0 0 30px rgba(255,204,51,.8), 0 0 60px rgba(255,150,0,.3); transform: scale(1.08); }
}

/* 최근 결과 */
.spk-lt-recent { display:flex; flex-direction:column; gap:4px; max-height:210px; overflow-y:auto; }
.spk-lt-recent-row { display:flex; align-items:center; gap:6px; font-size:11px; color:var(--spk-muted); }
.mini-ball { width:22px; height:22px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:9px; font-weight:700; color:#fff; }
.mini-ball.b1,.spk-lt-ball.b1 { background:linear-gradient(135deg,#ff6b6b,#cc2233); }
.mini-ball.b2,.spk-lt-ball.b2 { background:linear-gradient(135deg,#ffa94d,#ff6600); }
.mini-ball.b3,.spk-lt-ball.b3 { background:linear-gradient(135deg,#ffd43b,#cc9900); }
.mini-ball.b4,.spk-lt-ball.b4 { background:linear-gradient(135deg,#69db7c,#1a9a3a); }
.mini-ball.b5,.spk-lt-ball.b5 { background:linear-gradient(135deg,#74c0fc,#1a6dff); }
.mini-ball.b6,.spk-lt-ball.b6 { background:linear-gradient(135deg,#da77f2,#9a2ecc); }

/* 잭팟 */
.spk-lt-jackpot { background:linear-gradient(135deg,#1a0a3e,#3a1a6e); border-radius:10px; padding:10px 16px; text-align:center; color:#ffcc33; font-size:14px; font-weight:800; }
.spk-lt-jackpot .jp { font-size:20px; }

/* 번호 선택 */
.spk-lt-picker { background:var(--spk-card); border-radius:var(--spk-radius); box-shadow:var(--spk-shadow); padding:12px; }
.spk-lt-picker-hd { font-size:12px; font-weight:800; margin-bottom:8px; display:flex; justify-content:space-between; color:var(--spk-text); }
.spk-lt-picker-hd .pts { font-size:11px; color:var(--spk-primary); }
.spk-lt-nums { display:grid; grid-template-columns:repeat(9,1fr); gap:4px; margin-bottom:10px; }
.spk-lt-num { width:100%; aspect-ratio:1; display:flex; align-items:center; justify-content:center; border-radius:50%; font-size:16px; font-weight:800; border:2px solid var(--spk-line); background:#fff; color:var(--spk-text); cursor:pointer; transition:all .18s; }
.spk-lt-num:hover { border-color:var(--spk-primary); transform:scale(1.08); }
.spk-lt-num.picked { background:linear-gradient(135deg,#1a6dff,#0c2d5e); color:#fff; border-color:#1a6dff; box-shadow:0 3px 10px rgba(26,109,255,.3); }
.spk-lt-num.disabled { opacity:.3; pointer-events:none; }
.spk-lt-num.matched { background:linear-gradient(135deg,#0abf53,#068f3c); color:#fff; border-color:#0abf53; }

.spk-lt-selected { display:flex; gap:6px; align-items:center; margin-bottom:8px; min-height:36px; }
.spk-lt-selected .sel-ball { width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:15px; font-weight:800; background:linear-gradient(135deg,#1a6dff,#0c2d5e); color:#fff; }
.spk-lt-selected .sel-empty { width:36px; height:36px; border-radius:50%; border:2px dashed var(--spk-line); display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--spk-muted); }

.spk-lt-bet-row { display:flex; gap:6px; align-items:center; }
.spk-lt-bet-row .q-btns { display:flex; gap:2px; }
.spk-lt-bet-row .q-btns button { padding:4px 8px;border:1px solid var(--spk-line);border-radius:4px;background:#fff;font-size:9px;font-weight:600;color:var(--spk-muted);cursor:pointer; }
.spk-lt-bet-row .q-btns button:hover { border-color:var(--spk-primary); }
.spk-lt-bet-row input { flex:1;padding:6px 8px;border:1px solid var(--spk-line);border-radius:6px;font-size:12px;font-weight:700;outline:none; }
.spk-lt-bet-row .go-btn { padding:6px 16px;border:none;border-radius:8px;background:linear-gradient(135deg,var(--spk-primary),var(--spk-primary-deep));color:#fff;font-size:12px;font-weight:800;cursor:pointer; }
.spk-lt-bet-row .go-btn:disabled { opacity:.4;cursor:default; }
.spk-lt-bet-row .clr-btn { padding:6px 12px;border:1px solid var(--spk-line);border-radius:8px;background:#fff;color:var(--spk-muted);font-size:11px;cursor:pointer; }

/* 배당 안내 */
.spk-lt-odds-info { display:flex; gap:8px; margin-top:8px; }
.spk-lt-odds-info span { font-size:10px; padding:3px 8px; border-radius:12px; background:var(--spk-bg); color:var(--spk-muted); font-weight:600; }

/* 나의 베팅 */
.spk-lt-my { background:var(--spk-card);border-radius:var(--spk-radius);box-shadow:var(--spk-shadow-soft);overflow:hidden; }
.spk-lt-my-hd { background:linear-gradient(135deg,#0a2040,#1a4080);color:#fff;padding:8px 12px;font-size:12px;font-weight:800; }
.spk-lt-my table { width:100%;border-collapse:collapse; }
.spk-lt-my th { padding:4px 6px;background:var(--spk-bg);font-size:9px;font-weight:700;color:var(--spk-muted);text-align:center; }
.spk-lt-my td { padding:4px 6px;font-size:10px;color:var(--spk-text);text-align:center;border-bottom:1px solid var(--spk-line); }
.spk-lt-my .w { color:var(--spk-green);font-weight:700; }
.spk-lt-my .l { color:var(--spk-red); }
.spk-lt-my-pg { display:flex;justify-content:center;gap:3px;padding:6px; }
.spk-lt-my-pg button { width:22px;height:22px;border:1px solid var(--spk-line);border-radius:4px;background:#fff;font-size:9px;cursor:pointer; }
.spk-lt-my-pg button.active { background:var(--spk-primary);color:#fff;border-color:var(--spk-primary); }

.spk-lt-bottom { display:flex;gap:10px; }
.spk-lt-bottom>*{flex:1;min-width:0;}
.spk-lt-hist { background:var(--spk-card);border-radius:var(--spk-radius);box-shadow:var(--spk-shadow-soft);overflow:hidden; }
.spk-lt-hist-hd { background:linear-gradient(135deg,#1a3050,#2a5080);color:#fff;padding:8px 14px;font-size:12px;font-weight:800; }
.spk-lt-hist-scroll{max-height:280px;overflow-y:auto;}
.spk-lt-hist table{width:100%;border-collapse:collapse;}
.spk-lt-hist thead{position:sticky;top:0;z-index:1;}
.spk-lt-hist th{padding:5px 6px;background:var(--spk-bg);font-size:10px;font-weight:700;color:var(--spk-muted);text-align:center;}
.spk-lt-hist td{padding:5px 6px;font-size:11px;color:var(--spk-text);text-align:center;border-bottom:1px solid var(--spk-line);}

.spk-lt-posts { background:var(--spk-card);border-radius:var(--spk-radius);box-shadow:var(--spk-shadow-soft);overflow:hidden; }
.spk-lt-posts .hd{background:linear-gradient(135deg,#0a2028,#1a5060);color:#fff;padding:8px 14px;font-size:12px;font-weight:800;display:flex;justify-content:space-between;}
.spk-lt-posts .hd a{color:#8dd;font-size:10px;}

@media(max-width:900px){.spk-lt-game{flex-direction:column;}.spk-lt-left{flex:none;width:100%;}.spk-lt-bottom{flex-direction:column;}}
