/* ═══════════════════════════════════════════════════════════
   澳门6肖极限 — Premium UI v3
   台球号码 · 3D生肖球 · 实时开奖 · 极光背景
   ═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700;800&family=Orbitron:wght@500;600;700;800;900&display=swap');

:root {
    --bg-deep: #03050b;
    --bg-card: rgba(10,12,28,0.7);
    --bg-input: rgba(8,10,24,0.65);
    --border-subtle: rgba(255,255,255,0.05);
    --border-glass: rgba(255,255,255,0.08);
    --border-glow: rgba(255,255,255,0.14);
    --text-primary: #ececf4;
    --text-secondary: #9d9db8;
    --text-muted: #5d5d78;
    --violet: #8b5cf6; --violet-glow: #a78bfa;
    --blue: #3b82f6; --blue-glow: #60a5fa;
    --cyan: #06b6d4; --cyan-glow: #22d3ee;
    --pink: #ec4899; --pink-glow: #f472b6;
    --gold: #f59e0b; --gold-glow: #fbbf24;
    --green: #10b981; --green-glow: #34d399;
    --red: #ef4444; --red-glow: #f87171;
    --gradient-1: linear-gradient(135deg, #8b5cf6, #3b82f6, #06b6d4);
    --gradient-2: linear-gradient(135deg, #ec4899, #8b5cf6, #3b82f6);
    --gradient-gold: linear-gradient(135deg, #fbbf24, #f59e0b, #d97706);
    --shadow-glass: 0 8px 32px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.04) inset;
    --shadow-glass-lg: 0 16px 48px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.06) inset;
    --radius-sm: 8px; --radius-md: 14px; --radius-lg: 20px; --radius-xl: 28px; --radius-pill: 9999px;
    --font: 'Inter','PingFang SC','Microsoft YaHei',sans-serif;
    --font-mono: 'JetBrains Mono','Cascadia Code',consolas,monospace;
    --font-display: 'Orbitron','Inter',sans-serif;
    --ease-out: cubic-bezier(0.16,1,0.3,1);
    --ease-spring: cubic-bezier(0.34,1.56,0.64,1);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font);background:var(--bg-deep);color:var(--text-primary);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}

/* ═══ ORBS ═══ */
.orb{position:fixed;border-radius:50%;pointer-events:none;z-index:0;filter:blur(80px);opacity:0.3}
.orb-1{width:500px;height:500px;background:var(--violet);top:-10%;left:-8%;animation:orbFloat1 20s ease-in-out infinite}
.orb-2{width:400px;height:400px;background:var(--blue);top:30%;right:-10%;animation:orbFloat2 25s ease-in-out infinite}
.orb-3{width:350px;height:350px;background:var(--pink);bottom:-10%;left:35%;animation:orbFloat3 22s ease-in-out infinite}
.orb-4{width:300px;height:300px;background:var(--cyan);top:60%;right:25%;animation:orbFloat4 18s ease-in-out infinite}
@keyframes orbFloat1{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(80px,-40px) scale(1.1)}50%{transform:translate(30px,60px) scale(0.9)}75%{transform:translate(-50px,20px) scale(1.05)}}
@keyframes orbFloat2{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(-60px,-50px) scale(1.15)}66%{transform:translate(40px,30px) scale(0.85)}}
@keyframes orbFloat3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,-30px) scale(1.12)}}
@keyframes orbFloat4{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,20px) scale(0.92)}}

/* ═══ HEADER ═══ */
.header{position:sticky;top:0;z-index:100;background:rgba(3,5,11,0.75);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border-bottom:1px solid var(--border-subtle);padding:0 32px}
.header-inner{max-width:1440px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:70px}
.header-logo{display:flex;align-items:center;gap:14px;text-decoration:none;transition:transform 0.3s var(--ease-spring)}
.header-logo:hover{transform:scale(1.03)}
.logo-mark-wrap{position:relative;width:44px;height:44px}
.logo-mark{width:44px;height:44px;border-radius:13px;background:var(--gradient-1);display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:900;font-family:var(--font-display);color:#fff;position:relative;z-index:2;animation:logoFloat 4s ease-in-out infinite;box-shadow:0 4px 24px rgba(139,92,246,0.4);transition:all 0.4s var(--ease-spring)}
.header-logo:hover .logo-mark{box-shadow:0 8px 36px rgba(139,92,246,0.6),0 0 60px rgba(59,130,246,0.3);transform:rotate(-8deg) scale(1.1)}
.logo-ring{position:absolute;inset:-5px;border-radius:18px;background:conic-gradient(from 0deg,#8b5cf6,#3b82f6,#06b6d4,#ec4899,#8b5cf6);animation:ringSpin 3s linear infinite;z-index:1;opacity:0.8}
.logo-glow{position:absolute;inset:-12px;border-radius:24px;background:var(--gradient-1);filter:blur(20px);z-index:0;opacity:0.4;animation:ringGlow 3s ease-in-out infinite alternate}
@keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes ringSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes ringGlow{0%{opacity:0.25;transform:scale(0.9)}100%{opacity:0.5;transform:scale(1.15)}}
.logo-text{font-size:20px;font-weight:800;letter-spacing:-0.3px;background:linear-gradient(135deg,#ececf4 0%,#a78bfa 40%,#60a5fa 70%,#c4b5fd 100%);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:textShimmer 5s ease-in-out infinite}
@keyframes textShimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

.header-nav{display:flex;gap:4px}
.header-nav a{color:var(--text-secondary);text-decoration:none;padding:9px 22px;border-radius:var(--radius-pill);font-size:14px;font-weight:500;transition:all 0.3s var(--ease-out)}
.header-nav a:hover{color:#fff;background:rgba(255,255,255,0.05)}
.header-nav a.active{color:#fff;background:var(--gradient-1);box-shadow:0 4px 20px rgba(139,92,246,0.35)}

/* ═══ MAIN ═══ */
.main-container{max-width:1440px;margin:0 auto;padding:36px 32px;position:relative;z-index:1}

/* ═══ MARQUEE ═══ */
.marquee-bar{display:flex;align-items:center;background:var(--bg-card);backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:var(--radius-pill);margin-bottom:22px;overflow:hidden;height:44px;box-shadow:var(--shadow-glass)}
.marquee-label{flex-shrink:0;background:var(--gradient-1);color:#fff;font-weight:700;font-size:11px;font-family:var(--font-display);padding:0 20px;height:100%;display:flex;align-items:center;letter-spacing:2px;text-transform:uppercase;border-radius:var(--radius-pill);position:relative;z-index:1}
.marquee-track{flex:1;overflow:hidden;height:100%;display:flex;align-items:center;mask-image:linear-gradient(to right,transparent 0%,black 6%,black 94%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 6%,black 94%,transparent 100%)}
.marquee-content{white-space:nowrap;animation:marquee 16s linear infinite;font-size:13px;color:var(--text-secondary);padding-left:26px;letter-spacing:0.2px}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ═══ LATEST DRAW (公告下方) ═══ */
/* 最新开奖双栏 */
.latest-draw-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}
.latest-draw-card{background:var(--bg-card);backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:14px 20px;box-shadow:var(--shadow-glass);display:flex;flex-direction:column;gap:10px}
.latest-draw-card:first-child{border-left:3px solid #f59e0b}
.latest-draw-card:last-child{border-left:3px solid #ef4444}
.draw-card-header{display:flex;align-items:center;gap:12px}
.draw-flag{font-size:10px;font-weight:800;letter-spacing:2px;color:#f59e0b;font-family:var(--font-display)}
.draw-flag.hk{color:#ef4444}
.draw-expect{font-size:14px;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}
.draw-balls{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.draw-balls .ball-num{width:34px;height:34px;font-size:13px;border-width:3px}
.draw-balls .ball-special{width:38px;height:38px;font-size:15px;border-width:4px}
.draw-zodiac{font-size:14px;font-weight:700;color:var(--gold-glow)}
.draw-time{font-size:11px;color:var(--text-muted)}
/* keep old class for backward compat */
.latest-draw-bar{display:none}

/* ═══ BANNER ═══ */
.banner-carousel{position:relative;margin-bottom:30px;border-radius:var(--radius-lg);overflow:hidden;height:120px;background:var(--bg-card);backdrop-filter:blur(20px);border:1px solid var(--border-glass);box-shadow:var(--shadow-glass)}
.banner-track{display:flex;height:100%;transition:transform 0.6s var(--ease-out)}
.banner-slide{min-width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-decoration:none}
.banner-slide img{width:100%;height:100%;object-fit:cover}
.banner-placeholder{display:flex;align-items:center;justify-content:center;gap:18px;height:100%;width:100%;color:var(--text-muted)}
.banner-icon{font-size:30px;font-weight:900;font-family:var(--font-display);padding:5px 16px;border:2px solid rgba(255,255,255,0.1);border-radius:var(--radius-sm);letter-spacing:3px;background:var(--gradient-1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.banner-text{font-size:15px}
.banner-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:2}
.banner-dot{width:6px;height:6px;border-radius:3px;background:rgba(255,255,255,0.15);cursor:pointer;transition:all 0.35s var(--ease-out)}
.banner-dot.active{width:28px;background:var(--violet-glow);box-shadow:0 0 10px rgba(167,139,250,0.6)}
.banner-dot:hover{background:rgba(255,255,255,0.35)}

/* ═══ STATS ═══ */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin-bottom:32px;perspective:1000px}
.stat-card{background:var(--bg-card);backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:28px 24px;position:relative;overflow:hidden;transition:transform 0.3s var(--ease-out),box-shadow 0.3s var(--ease-out);box-shadow:var(--shadow-glass);cursor:default;transform-style:preserve-3d}
.stat-card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glass-lg)}
.stat-card .card-accent{position:absolute;top:0;left:12px;right:12px;height:2px;border-radius:0 0 2px 2px;transition:all 0.4s var(--ease-out)}
.stat-card:hover .card-accent{left:8px;right:8px}
.stat-card.gold .card-accent{background:linear-gradient(90deg,transparent,var(--gold-glow),transparent);box-shadow:0 0 12px rgba(245,158,11,0.5)}
.stat-card.red .card-accent{background:linear-gradient(90deg,transparent,var(--red-glow),transparent);box-shadow:0 0 12px rgba(239,68,68,0.5)}
.stat-card.green .card-accent{background:linear-gradient(90deg,transparent,var(--green-glow),transparent);box-shadow:0 0 12px rgba(16,185,129,0.5)}
.stat-card.blue .card-accent{background:linear-gradient(90deg,transparent,var(--blue-glow),transparent);box-shadow:0 0 12px rgba(59,130,246,0.5)}
.stat-card.purple .card-accent{background:linear-gradient(90deg,transparent,var(--violet-glow),transparent);box-shadow:0 0 12px rgba(139,92,246,0.5)}
.stat-card::before{content:'';position:absolute;inset:0;border-radius:var(--radius-lg);opacity:0;transition:opacity 0.6s var(--ease-out);pointer-events:none}
.stat-card:hover::before{opacity:1}
.stat-card.gold::before{background:radial-gradient(ellipse at 50% 0%,rgba(245,158,11,0.08),transparent 70%)}
.stat-card.red::before{background:radial-gradient(ellipse at 50% 0%,rgba(239,68,68,0.07),transparent 70%)}
.stat-card.green::before{background:radial-gradient(ellipse at 50% 0%,rgba(16,185,129,0.07),transparent 70%)}
.stat-card.blue::before{background:radial-gradient(ellipse at 50% 0%,rgba(59,130,246,0.07),transparent 70%)}
.stat-card.purple::before{background:radial-gradient(ellipse at 50% 0%,rgba(139,92,246,0.07),transparent 70%)}
.stat-card .stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:3px;margin-bottom:16px;font-weight:700;font-family:var(--font-display)}
.stat-card .stat-value{font-size:42px;font-weight:900;line-height:1;font-family:var(--font-display);letter-spacing:-2px;transition:transform 0.3s var(--ease-out);position:relative;z-index:1}
.stat-card:hover .stat-value{transform:scale(1.06)}
.stat-card.gold .stat-value{background:var(--gradient-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-card.red .stat-value{color:var(--red-glow)}
.stat-card.green .stat-value{color:var(--green-glow)}
.stat-card.blue .stat-value{color:var(--blue-glow)}
.stat-card.purple .stat-value{color:var(--violet-glow)}
.stat-card .stat-sub{font-size:11px;color:var(--text-muted);margin-top:10px;font-weight:400}

/* ═══ PANEL ═══ */
.panel{background:var(--bg-card);backdrop-filter:blur(24px);border:1px solid var(--border-glass);border-radius:var(--radius-xl);margin-bottom:26px;overflow:hidden;box-shadow:var(--shadow-glass);transition:border-color 0.4s var(--ease-out),box-shadow 0.4s var(--ease-out)}
.panel:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glass-lg)}
.panel-header{padding:22px 28px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,0.01)}
.panel-title{font-size:15px;font-weight:700;letter-spacing:-0.2px;display:flex;align-items:center;gap:10px}
.panel-title .dot{width:7px;height:7px;border-radius:50%;background:var(--violet-glow);box-shadow:0 0 12px rgba(167,139,250,0.7),0 0 24px rgba(139,92,246,0.3);animation:dotPulse 2s ease-in-out infinite}
@keyframes dotPulse{0%,100%{box-shadow:0 0 12px rgba(167,139,250,0.7),0 0 24px rgba(139,92,246,0.3)}50%{box-shadow:0 0 20px rgba(167,139,250,1),0 0 40px rgba(139,92,246,0.6)}}
.panel-body{padding:28px}

/* ═══ ZODIAC MEDALS — 12生肖Emoji精致徽章 ═══ */
.prediction-display{display:flex;flex-wrap:nowrap;gap:14px;justify-content:center;padding:28px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.prediction-display::-webkit-scrollbar{display:none}
/* ── 水晶球生肖 ── */
.zodiac-tag{position:relative;width:90px;min-width:90px;height:90px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:default;z-index:1;transition:all 0.4s var(--ease-spring);
    background:radial-gradient(circle at 50% 35%,rgba(255,255,255,0.12) 0%,transparent 55%),
               radial-gradient(circle at 28% 72%,rgba(255,255,255,0.04) 0%,transparent 40%);
    box-shadow:0 8px 24px rgba(0,0,0,0.5),
               0 0 0 1px rgba(255,255,255,0.18) inset,
               0 0 0 3px rgba(255,255,255,0.04) inset,
               0 0 0 8px rgba(0,0,0,0.12);
}
/* 高光 */
.zodiac-tag::after{content:'';position:absolute;top:8%;left:16%;width:32%;height:24%;background:radial-gradient(ellipse at 38% 32%,rgba(255,255,255,0.65) 0%,rgba(255,255,255,0.1) 45%,transparent 72%);border-radius:50%;pointer-events:none;z-index:6}
/* 底部微反光 */
.zodiac-tag::before{content:'';position:absolute;bottom:10%;right:18%;width:16%;height:10%;background:radial-gradient(ellipse,rgba(255,255,255,0.15) 0%,transparent 65%);border-radius:50%;pointer-events:none;z-index:6}
.zodiac-tag:hover{transform:scale(1.08) translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,0.55),0 0 0 1px rgba(255,255,255,0.25) inset,0 0 0 3px rgba(255,255,255,0.06) inset,0 0 0 8px rgba(0,0,0,0.16),0 0 28px rgba(255,255,255,0.08)}

/* 水晶球内部 — 黄金金属球 + 铂金文字 */
.zcrystal-inner{position:relative;z-index:3;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:radial-gradient(circle at 28% 22%,#fff 0%,#fffef5 3%,transparent 12%),
               radial-gradient(ellipse at 48% 42%,#fef3c7 0%,#f59e0b 20%,#b45309 48%,#78350f 72%,#3b1a00 100%),
               radial-gradient(circle at 72% 78%,rgba(253,224,71,0.3) 0%,transparent 22%);
    box-shadow:0 4px 14px rgba(0,0,0,0.5),inset 0 1px 1px rgba(255,255,255,0.5),inset 0 -3px 6px rgba(0,0,0,0.35)}
.zcrystal-inner .z-name{font-size:28px;font-weight:900;color:#fff;text-shadow:0 0 10px rgba(255,255,255,0.9),0 0 20px rgba(255,255,240,0.5),0 0 30px rgba(255,255,200,0.3),0 2px 4px rgba(0,0,0,0.6)}
.zodiac-tag .z-emoji{font-size:36px;line-height:1;position:relative;z-index:2;filter:drop-shadow(0 2px 3px rgba(0,0,0,0.4))}

.zodiac-tag::after{content:'';position:absolute;top:5%;left:15%;width:30%;height:22%;background:radial-gradient(ellipse,rgba(255,255,255,0.4) 0%,transparent 70%);pointer-events:none;z-index:3;border-radius:50%}
.zodiac-tag:hover{transform:translateY(-6px) scale(1.06);box-shadow:0 14px 32px rgba(0,0,0,0.55),0 0 30px currentColor}
.zodiac-tag.hit{animation:zodiacHitGlow 1.5s ease-in-out infinite}
@keyframes zodiacHitGlow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.2)}}
.zodiac-tag.hit{animation:zodiacHitGlow 1.5s ease-in-out infinite}
@keyframes zodiacHitGlow{0%,100%{filter:drop-shadow(0 4px 8px rgba(0,0,0,0.3)) brightness(1)}50%{filter:drop-shadow(0 4px 8px rgba(0,0,0,0.3)) brightness(1.3) drop-shadow(0 0 20px currentColor)}}

/* ── 鼠：尖嘴圆耳 ── */
/* ── 牛：宽额双角 ── */
/* ── 虎：圆头立耳 ── */
/* ── 兔：长耳圆脸 ── */
/* ── 龙：菱角龙首 ── */
/* ── 蛇：椭圆蛇首 ── */
/* ── 马：长脸鬃毛 ── */
/* ── 羊：圆脸弯角 ── */
/* ── 猴：圆头招风耳 ── */
/* ── 鸡：鸡冠尖喙 ── */
/* ── 狗：圆头垂耳 ── */
/* ── 猪：宽圆大脸 ── */

.prediction-meta{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-subtle)}
.meta-item{font-size:13px;color:var(--text-muted);font-weight:500}
.meta-item strong{color:var(--text-primary);font-family:var(--font-mono);font-size:15px;font-weight:700}
.meta-divider{width:1px;height:12px;background:var(--border-glass)}
.status-hit{color:var(--green-glow)!important}
.status-miss{color:var(--red-glow)!important}
.status-pending{color:var(--gold-glow)!important}
.expect-badge{display:inline-flex;padding:8px 22px;background:var(--bg-card);backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-pill);font-size:13px;font-weight:700;font-family:var(--font-mono);box-shadow:var(--shadow-glass)}

/* ═══ POOL BALLS (白心台球款) ═══ */
.ball-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ball-num{width:44px;height:44px;border-radius:50%;font-size:17px;font-weight:800;font-family:var(--font-mono);display:inline-flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 50%,#f8fafc 0%,#f8fafc 63%,transparent 66%,transparent 100%),#94a3b8;color:#0f172a;box-shadow:0 3px 8px rgba(0,0,0,0.35),0 1px 3px rgba(0,0,0,0.2);transition:transform 0.2s var(--ease-out);position:relative;border:4px solid #94a3b8}
.ball-num:hover{transform:scale(1.12)}
.ball-red{border-color:#ef4444;background:radial-gradient(circle at 50% 50%,#f8fafc 0%,#f8fafc 63%,transparent 66%,transparent 100%),#ef4444;box-shadow:0 3px 10px rgba(239,68,68,0.45),0 1px 3px rgba(0,0,0,0.2),0 0 18px rgba(239,68,68,0.2)}
.ball-blue{border-color:#3b82f6;background:radial-gradient(circle at 50% 50%,#f8fafc 0%,#f8fafc 63%,transparent 66%,transparent 100%),#3b82f6;box-shadow:0 3px 10px rgba(59,130,246,0.45),0 1px 3px rgba(0,0,0,0.2),0 0 18px rgba(59,130,246,0.2)}
.ball-green{border-color:#22c55e;background:radial-gradient(circle at 50% 50%,#f8fafc 0%,#f8fafc 63%,transparent 66%,transparent 100%),#22c55e;box-shadow:0 3px 10px rgba(34,197,94,0.45),0 1px 3px rgba(0,0,0,0.2),0 0 18px rgba(34,197,94,0.2)}
.ball-special{width:48px;height:48px;font-size:19px;border:5px solid #f59e0b!important;background:radial-gradient(circle at 50% 50%,#f8fafc 0%,#f8fafc 61%,transparent 65%,transparent 100%),#f59e0b!important;box-shadow:0 4px 16px rgba(245,158,11,0.6),0 0 28px rgba(245,158,11,0.3),0 1px 3px rgba(0,0,0,0.2)!important;animation:specialGlow 2s ease-in-out infinite}
@keyframes specialGlow{0%,100%{box-shadow:0 4px 16px rgba(245,158,11,0.6),0 0 28px rgba(245,158,11,0.3)}50%{box-shadow:0 4px 24px rgba(245,158,11,0.85),0 0 40px rgba(245,158,11,0.5)}}
.color-tag{display:inline-block;padding:4px 16px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;letter-spacing:0.5px}
.color-tag.red{background:rgba(239,68,68,0.15);color:#fca5a5;border:1px solid rgba(239,68,68,0.3)}
.color-tag.blue{background:rgba(59,130,246,0.15);color:#93c5fd;border:1px solid rgba(59,130,246,0.3)}
.color-tag.green{background:rgba(34,197,94,0.15);color:#86efac;border:1px solid rgba(34,197,94,0.3)}

/* ═══ TABLE ═══ */
.table-wrap{overflow-x:auto;max-height:560px;overflow-y:auto}
.table-wrap::-webkit-scrollbar{width:5px;height:5px}
.table-wrap::-webkit-scrollbar-track{background:transparent}
.table-wrap::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.06);border-radius:3px}
.table-wrap::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.12)}
table{width:100%;border-collapse:collapse;font-size:13px}
thead{position:sticky;top:0;z-index:2}
th{background:rgba(6,8,20,0.9);backdrop-filter:blur(12px);color:var(--text-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;padding:15px 20px;text-align:left;border-bottom:2px solid var(--border-glass)}
td{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,0.025);color:var(--text-secondary)}
tr{transition:background 0.2s var(--ease-out)}
tr:hover td{background:rgba(139,92,246,0.04)}
.zodiac-list{display:flex;flex-wrap:wrap;gap:5px}
.zodiac-mini{padding:4px 14px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;background:rgba(139,92,246,0.1);color:var(--violet-glow);border:1px solid rgba(139,92,246,0.15);transition:all 0.3s var(--ease-out)}
.zodiac-mini:hover{background:rgba(139,92,246,0.2);border-color:var(--violet);color:#c4b5fd}

.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;letter-spacing:0.3px}
.badge::before{content:'';width:6px;height:6px;border-radius:50%}
.badge-hit{background:rgba(16,185,129,0.1);color:var(--green-glow);border:1px solid rgba(16,185,129,0.2)}
.badge-hit::before{background:var(--green);box-shadow:0 0 6px rgba(16,185,129,0.6)}
.badge-miss{background:rgba(239,68,68,0.1);color:var(--red-glow);border:1px solid rgba(239,68,68,0.2)}
.badge-miss::before{background:var(--red);box-shadow:0 0 6px rgba(239,68,68,0.6)}
.badge-chase{background:rgba(245,158,11,0.1);color:#f59e0b;border:1px solid rgba(245,158,11,0.2)}
.badge-chase::before{background:#f59e0b;box-shadow:0 0 6px rgba(245,158,11,0.6)}
.badge-pending{background:rgba(245,158,11,0.1);color:var(--gold-glow);border:1px solid rgba(245,158,11,0.2)}
.badge-pending::before{background:var(--gold);box-shadow:0 0 6px rgba(245,158,11,0.6)}
.real-zodiac-hit{color:var(--green-glow);font-weight:700}
.real-zodiac-miss{color:var(--red-glow);font-weight:700}

/* ═══ BUTTONS ═══ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 26px;border-radius:var(--radius-pill);font-size:14px;font-weight:600;cursor:pointer;border:none;transition:all 0.35s var(--ease-out);font-family:var(--font);letter-spacing:0.2px;position:relative;overflow:hidden}
.btn:disabled{opacity:0.35;cursor:not-allowed}
.btn-primary{background:var(--gradient-1);color:#fff;box-shadow:0 4px 20px rgba(139,92,246,0.3)}
.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 32px rgba(139,92,246,0.5),0 0 50px rgba(59,130,246,0.2)}
.btn-primary:active:not(:disabled){transform:scale(0.96)}
.btn-danger{background:linear-gradient(135deg,#f87171,#ef4444);color:#fff;box-shadow:0 4px 20px rgba(239,68,68,0.25)}
.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 32px rgba(239,68,68,0.45)}
.btn-danger:active:not(:disabled){transform:scale(0.96)}
.btn-outline{background:transparent;border:1.5px solid rgba(255,255,255,0.08);color:var(--text-secondary)}
.btn-outline:hover:not(:disabled){border-color:var(--violet);color:var(--violet-glow);background:rgba(139,92,246,0.06);box-shadow:0 4px 20px rgba(139,92,246,0.15)}
.btn-sm{padding:7px 16px;font-size:12px}
.btn .ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,0.3);transform:scale(0);animation:ripple 0.6s ease-out;pointer-events:none}
@keyframes ripple{to{transform:scale(4);opacity:0}}

/* ═══ EMPTY / LOADING ═══ */
.empty-state{text-align:center;padding:72px 24px;color:var(--text-muted)}
.empty-state .empty-icon{font-size:56px;margin-bottom:18px;opacity:0.25}
.empty-state .empty-text{font-size:15px;font-weight:500}
.loading-spinner{display:flex;align-items:center;justify-content:center;padding:48px}
.spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,0.05);border-top-color:var(--violet);border-radius:50%;animation:spin 0.7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ═══ FOOTER ═══ */
.footer{text-align:center;padding:30px;color:var(--text-muted);font-size:12px;border-top:1px solid var(--border-subtle);margin-top:50px}

/* ═══ AUTH PAGE ═══ */
.auth-page{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:var(--bg-deep);z-index:200;padding:20px}
.auth-container{display:flex;width:880px;max-width:calc(100vw - 40px);min-height:500px;margin:0 auto;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,0.6),0 0 0 1px rgba(255,255,255,0.05);background:var(--bg-card);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid var(--border-glass)}
.auth-brand{flex:0 0 44%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 40px;background:linear-gradient(160deg,rgba(139,92,246,0.15) 0%,rgba(3,5,11,0.7) 60%);border-right:1px solid var(--border-glass);position:relative;overflow:hidden;text-align:center}
.auth-brand::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 25% 15%,rgba(139,92,246,0.25),transparent 55%),radial-gradient(circle at 75% 70%,rgba(59,130,246,0.18),transparent 55%),radial-gradient(circle at 50% 50%,rgba(236,72,153,0.1),transparent 45%);animation:authBrandGlow 8s ease-in-out infinite alternate}
@keyframes authBrandGlow{0%{opacity:0.5}100%{opacity:1}}
.auth-brand>*{position:relative;z-index:1}
.auth-brand .brand-icon{width:84px;height:84px;border-radius:22px;background:var(--gradient-1);display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:900;font-family:var(--font-display);color:#fff;box-shadow:0 8px 50px rgba(139,92,246,0.5),0 0 80px rgba(59,130,246,0.2);animation:brandFloat 4s ease-in-out infinite;margin-bottom:28px;position:relative}
.auth-brand .brand-icon::after{content:'';position:absolute;inset:-4px;border-radius:26px;background:conic-gradient(from 0deg,#8b5cf6,#3b82f6,#06b6d4,#ec4899,#8b5cf6);animation:ringSpin 3s linear infinite;z-index:-1;opacity:0.5}
@keyframes brandFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.auth-brand h2{font-size:25px;font-weight:800;letter-spacing:-0.5px;background:linear-gradient(135deg,#f0f0f8 0%,#c4b5fd 50%,#60a5fa 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px}
.auth-brand p{font-size:13px;color:var(--text-muted);line-height:1.8;max-width:240px}
.auth-form-panel{flex:1;display:flex;flex-direction:column;justify-content:center;padding:52px 44px;position:relative}
.auth-tabs{display:flex;gap:0;margin-bottom:34px;background:rgba(255,255,255,0.02);border-radius:var(--radius-pill);border:1px solid var(--border-glass);overflow:hidden}
.auth-tab{flex:1;text-align:center;padding:14px;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-muted);transition:all 0.3s var(--ease-out);border-radius:var(--radius-pill)}
.auth-tab.active{color:#fff;background:var(--gradient-1);box-shadow:0 4px 18px rgba(139,92,246,0.35)}
.auth-tab:hover:not(.active){color:var(--text-primary)}

/* ═══ FORMS ═══ */
.form-group{margin-bottom:20px}
.form-group label{display:block;margin-bottom:6px;font-size:11px;color:var(--text-muted);font-weight:600;letter-spacing:1.5px;text-transform:uppercase}
.form-group input[type="text"],.form-group input[type="password"],.form-group input[type="time"],.form-group input[type="number"]{width:100%;padding:13px 16px;background:var(--bg-input);border:1px solid var(--border-glass);border-radius:var(--radius-sm);color:var(--text-primary);font-size:15px;font-family:var(--font);transition:all 0.3s var(--ease-out)}
.form-group input:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(139,92,246,0.12),0 0 20px rgba(139,92,246,0.1)}
.form-group input::placeholder{color:var(--text-muted)}
.form-group input[type="checkbox"]{accent-color:var(--violet);width:17px;height:17px}
.alert{padding:13px 18px;border-radius:var(--radius-sm);margin-bottom:18px;font-size:13px;font-weight:500}
.alert-error{background:rgba(239,68,68,0.06);color:var(--red-glow);border:1px solid rgba(239,68,68,0.15)}
.alert-success{background:rgba(16,185,129,0.06);color:var(--green-glow);border:1px solid rgba(16,185,129,0.15)}

/* ═══ PROFILE / ADMIN ═══ */
.profile-info{display:flex;flex-direction:column;gap:16px}
.profile-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--border-subtle)}
.profile-row:last-child{border-bottom:none}
.profile-label{font-size:13px;color:var(--text-muted);font-weight:500}
.profile-value{font-size:15px;color:var(--text-primary);font-weight:600}
.profile-points{color:var(--gold-glow)!important;font-size:24px!important;font-weight:900!important;font-family:var(--font-display)}
.notice-list{display:flex;flex-direction:column;gap:12px}
.notice-item{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--text-secondary);padding:12px 16px;background:rgba(255,255,255,0.015);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}
.notice-dot{width:6px;height:6px;border-radius:50%;background:var(--violet-glow);flex-shrink:0;box-shadow:0 0 10px rgba(167,139,250,0.6)}
.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.admin-header h1{font-size:28px;font-weight:900;letter-spacing:-0.5px;font-family:var(--font-display);background:var(--gradient-1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}
.log-area{background:rgba(6,8,20,0.7);border-radius:var(--radius-md);padding:18px;max-height:300px;overflow-y:auto;font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);white-space:pre-wrap;line-height:1.9;border:1px solid var(--border-subtle)}
.log-entry.success{color:var(--green-glow)}
.log-entry.error{color:var(--red-glow)}
.log-entry.info{color:var(--violet-glow)}
.banner-item{background:rgba(8,10,24,0.5);border:1px solid var(--border-glass);border-radius:var(--radius-md);padding:20px;margin-bottom:14px}
.banner-item:hover{border-color:var(--border-glow)}
.banner-item-header{display:flex;align-items:center;justify-content:space-between}
.banner-item .form-group{margin-bottom:10px}
.banner-item .form-group:last-child{margin-bottom:0}
.banner-item .form-group label{font-size:11px;margin-bottom:4px;font-weight:600}
.banner-item .form-group input{font-size:13px;padding:9px 14px}


/* ═══ MODAL ═══ */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:300;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.modal-box{background:var(--bg-card);backdrop-filter:blur(24px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);max-width:560px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-glass-lg)}
.modal-header{padding:18px 24px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:700;color:var(--text-primary)}
.modal-body{padding:24px;font-size:14px;color:var(--text-secondary);line-height:1.8;white-space:pre-wrap}

/* ═══ AD CAROUSEL (个人中心底部) ═══ */
.ad-carousel .banner-carousel{margin-bottom:0;height:100px}
/* ═══ RESPONSIVE ═══ */
@media(max-width:768px){
    .header-inner{height:56px}
    .logo-text{font-size:16px}
    .logo-mark,.logo-mark-wrap{width:36px;height:36px}
    .logo-mark{font-size:17px;border-radius:10px}
    .header-nav a{padding:7px 15px;font-size:12px}
    .main-container{padding:20px 16px}
    .stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}
    .stat-card{padding:20px 16px}
    .stat-card .stat-value{font-size:32px}
    .zodiac-tag{width:56px;min-width:56px;height:56px;box-shadow:0 4px 12px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.12) inset,0 0 0 5px rgba(0,0,0,0.1)}
    .zcrystal-inner{width:42px;height:42px}
    .zcrystal-inner .z-emoji{font-size:18px}
    .zcrystal-inner .z-name{font-size:15px}
    .prediction-display{gap:6px;padding:12px 0;overflow-x:visible;flex-wrap:nowrap;justify-content:space-evenly}
    /* ═══ 移动端表格 → 固定表头顶部+数据行 ═══ */
    .table-wrap{max-height:460px;overflow-y:auto;overflow-x:hidden}
    .panel-body{padding:8px}
    table,thead,tbody,tr,th,td{display:block}
    /* 表头行：固定在顶部 */
    thead{display:block;position:sticky;top:0;z-index:3}
    thead tr{display:flex;flex-wrap:nowrap;align-items:center;width:100%;padding:8px 6px;background:rgba(6,8,20,0.95);backdrop-filter:blur(12px);border-bottom:2px solid var(--border-glass)}
    th{display:inline-flex;align-items:center;padding:0 3px 0 33px;border:none;font-size:9px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;white-space:nowrap;flex:1 1 auto}
    th:first-child{flex:0 0 56px}
    /* 数据行——不动 */
    tbody tr{display:flex;flex-wrap:nowrap;align-items:center;width:100%;padding:10px 6px;border-bottom:1px solid var(--border-subtle)}
    td{display:inline-flex;align-items:center;padding:0 3px;border:none;font-size:11px;white-space:nowrap;flex:1 1 auto;min-width:0}
    td:first-child{flex:0 0 56px}
    td::before{display:none}
    td:first-child{font-weight:700;color:var(--violet-glow);font-family:var(--font-mono);flex:0 0 56px}
    .ball-num{width:26px;height:26px;font-size:12px;border-width:3px}
    .ball-special{width:32px;height:32px;font-size:13px;border-width:4px}
    .ball-row{gap:3px}
    .zodiac-list{gap:3px}
    .zodiac-mini{padding:2px 6px;font-size:10px}
    .badge{padding:2px 8px;font-size:9px}
    .banner-carousel{height:120px}
    .banner-slide img{object-fit:contain;background:#000}
    .admin-grid{grid-template-columns:1fr}
    .auth-page{padding:20px 12px}
    .auth-container{flex-direction:column;min-height:auto}
    .auth-brand{flex:0 0 auto;padding:36px 28px;border-right:none;border-bottom:1px solid var(--border-glass)}
    .auth-brand .brand-icon{width:64px;height:64px;font-size:30px;border-radius:18px;margin-bottom:18px}
    .auth-brand h2{font-size:21px}
    .auth-form-panel{padding:28px 24px}
    .ball-num{width:36px;height:36px;font-size:14px;border-width:3px}
    .ball-special{width:40px;height:40px;font-size:16px;border-width:4px}
    .latest-draw-row{grid-template-columns:1fr;gap:10px}
    .draw-balls .ball-num{width:28px;height:28px;font-size:11px;border-width:2px}
    .draw-balls .ball-special{width:32px;height:32px;font-size:12px;border-width:3px}
}
/* ══════════════════════════════════════════════════════════
   多策略预测 Tab 导航 + 对比表格
   ═══════════════════════════════════════════════════════════ */
.multi-tab-nav{display:flex;gap:4px;overflow-x:auto;padding:0 0 8px;margin-bottom:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.multi-tab-nav::-webkit-scrollbar{display:none}
.multi-tab-section-label{flex-shrink:0;padding:7px 6px;font-size:10px;font-weight:700;letter-spacing:2px;color:rgba(255,255,255,.25);display:flex;align-items:center;user-select:none}
.multi-tab-btn{flex-shrink:0;padding:7px 14px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;letter-spacing:0.3px;border:1px solid var(--border-glass);background:rgba(255,255,255,.02);color:var(--text-muted);cursor:pointer;transition:all .25s var(--ease-out);white-space:nowrap;user-select:none}
.multi-tab-btn.active,.multi-tab-btn:hover{color:#fff;border-color:var(--violet);background:rgba(139,92,246,.12);box-shadow:0 0 12px rgba(139,92,246,.15)}
.multi-tab-btn:active{transform:scale(.94)}
.multi-sub-opts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}
.multi-sub-opt{padding:5px 14px;border-radius:var(--radius-pill);font-size:11px;font-weight:500;border:1px solid var(--border-glass);background:rgba(255,255,255,.02);color:var(--text-muted);cursor:pointer;transition:all .2s var(--ease-out);white-space:nowrap}
.multi-sub-opt.active{color:#fff;border-color:var(--violet-glow);background:rgba(139,92,246,.1);box-shadow:0 0 8px rgba(139,92,246,.12)}
.multi-predict-info{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;font-size:12px;color:var(--text-secondary)}
.multi-info-row{display:flex;align-items:center;gap:8px}
.multi-info-step{width:20px;height:20px;border-radius:50%;background:rgba(139,92,246,.15);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--violet-glow);flex-shrink:0}
.multi-info-val{color:var(--violet-glow);font-weight:600;font-family:var(--font-mono)}
.multi-zodiac-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px}
.multi-zodiac-tag{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;background:radial-gradient(circle at 35% 35%,#ffd700,#b8860b);color:#1a1a1a;box-shadow:0 4px 16px rgba(245,158,11,.35);animation:zPop .4s ease-out backwards}
.multi-zodiac-tag:nth-child(1){animation-delay:0s}.multi-zodiac-tag:nth-child(2){animation-delay:.07s}.multi-zodiac-tag:nth-child(3){animation-delay:.14s}.multi-zodiac-tag:nth-child(4){animation-delay:.21s}.multi-zodiac-tag:nth-child(5){animation-delay:.28s}.multi-zodiac-tag:nth-child(6){animation-delay:.35s}.multi-zodiac-tag:nth-child(7){animation-delay:.42s}.multi-zodiac-tag:nth-child(8){animation-delay:.49s}
@keyframes zPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
.multi-next-info{text-align:center;margin-bottom:12px}
.multi-next-label{font-size:11px;color:var(--text-muted);letter-spacing:2px;margin-bottom:2px;text-transform:uppercase}
.multi-next-expect{font-size:22px;font-weight:800;color:var(--gold-glow);letter-spacing:1px;font-family:var(--font-mono)}
.compare-tbl{width:100%;border-collapse:collapse;font-size:12px}
.compare-tbl th{text-align:left;padding:10px 8px;color:var(--violet-glow);font-weight:600;border-bottom:1px solid var(--border-glass);font-size:10px;letter-spacing:1px;white-space:nowrap}
.compare-tbl td{padding:10px 8px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}
.compare-tbl .rank-1 td{background:rgba(245,158,11,.06)}
.compare-tbl .rank-1 td:first-child{color:var(--gold-glow);font-weight:700}
.rate-bar{display:inline-block;height:5px;border-radius:3px;background:var(--gradient-gold);margin-right:6px;vertical-align:middle}

/* ══════════════════════════════════════════════════════════
   V5.0 三区TAB导航系统
   ═══════════════════════════════════════════════════════════ */

/* 一级：区域TAB */
.zone-tab-nav{display:flex;gap:0;background:rgba(255,255,255,.02);border-radius:var(--radius-pill);padding:4px;margin-bottom:12px;border:1px solid var(--border-glass)}
.zone-tab-btn{flex:1;padding:10px 20px;border-radius:var(--radius-pill);font-size:14px;font-weight:700;letter-spacing:0.5px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .3s var(--ease-out);text-align:center;white-space:nowrap;user-select:none;display:flex;align-items:center;justify-content:center;gap:6px}
.zone-tab-btn.active{color:#fff;background:rgba(139,92,246,.15);box-shadow:0 4px 16px rgba(139,92,246,.2)}
.zone-tab-btn:hover:not(.active){color:var(--text-secondary);background:rgba(255,255,255,.03)}
.zone-icon{font-size:16px}

/* 二级：维度TAB */
.dim-tab-nav{display:flex;gap:6px;overflow-x:auto;padding:8px 0;margin-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--border-subtle)}
.dim-tab-nav::-webkit-scrollbar{display:none}
.dim-section-label{flex-shrink:0;padding:6px 8px;font-size:11px;font-weight:700;letter-spacing:1.5px;color:rgba(255,255,255,.3);display:flex;align-items:center;gap:4px;border-right:1px solid var(--border-glass);margin-right:4px;user-select:none}
.dim-tab-btn{flex-shrink:0;padding:7px 16px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;border:1px solid var(--border-glass);background:rgba(255,255,255,.02);color:var(--text-muted);cursor:pointer;transition:all .25s var(--ease-out);white-space:nowrap;user-select:none}
.dim-tab-btn.active,.dim-tab-btn:hover{color:#fff;border-color:var(--violet);background:rgba(139,92,246,.12);box-shadow:0 0 12px rgba(139,92,246,.15)}
.dim-tab-btn:active{transform:scale(.94)}

/* 三级：参数选择 */
.sub-param-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border-subtle);align-items:center}
.sub-label{font-size:11px;color:var(--text-muted);margin-right:4px;flex-shrink:0}
.sub-param-btn{padding:6px 16px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;border:1px solid var(--border-glass);background:rgba(255,255,255,.03);color:var(--text-secondary);cursor:pointer;transition:all .2s var(--ease-out);white-space:nowrap;user-select:none}
.sub-param-btn.active{color:#fff;border-color:var(--gold-glow);background:rgba(245,158,11,.12);box-shadow:0 0 10px rgba(245,158,11,.15)}
.sub-param-btn:hover:not(.active){border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.05)}

/* 版本标签 */
.version-badge{padding:4px 12px;border-radius:var(--radius-pill);font-size:10px;font-weight:700;letter-spacing:1px;background:linear-gradient(135deg,rgba(139,92,246,.2),rgba(59,130,246,.2));color:var(--violet-glow);border:1px solid rgba(139,92,246,.25)}

/* 结果展示区 */
.result-header{text-align:center;margin-bottom:16px}
.result-expect{font-size:24px;font-weight:900;color:#fff;margin-bottom:4px}
.expect-num{color:var(--gold-glow)}
.result-label{font-size:13px;font-weight:700;color:var(--text-secondary);margin-bottom:6px}
.result-rate{font-size:36px;font-weight:900;line-height:1.1;margin-bottom:2px}
.result-subtitle{font-size:11px;color:rgba(255,255,255,.4);margin-bottom:6px}
.result-wf-badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:9px;font-weight:600;letter-spacing:1px;color:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.08);margin-bottom:10px}

.result-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:14px}
.result-tag{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;background:radial-gradient(circle at 35% 35%,#ffd700,#b8860b);color:#1a1a1a;box-shadow:0 4px 16px rgba(245,158,11,.35);animation:zPop .4s ease-out backwards}
.result-tag:nth-child(1){animation-delay:0s}.result-tag:nth-child(2){animation-delay:.07s}.result-tag:nth-child(3){animation-delay:.14s}.result-tag:nth-child(4){animation-delay:.21s}.result-tag:nth-child(5){animation-delay:.28s}.result-tag:nth-child(6){animation-delay:.35s}

.formula-info{text-align:center;font-size:10px;color:rgba(255,255,255,.2);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}

/* ── 近N期胜率统计 ── */
.recent-stats-section{margin:12px 0;padding:16px;background:rgba(139,92,246,.04);border:1px solid rgba(139,92,246,.12);border-radius:var(--radius-md)}
.recent-stats-title{font-size:13px;font-weight:700;color:var(--violet-glow);margin-bottom:12px}
.recent-stats-controls{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.recent-stats-label{font-size:13px;color:var(--text-secondary)}
.recent-stats-input{width:80px;padding:7px 10px;background:var(--bg-input);border:1px solid var(--border-glass);border-radius:var(--radius-pill);color:var(--text-primary);font-size:14px;text-align:center;font-family:var(--font-mono);transition:border-color .3s}
.recent-stats-input:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(139,92,246,.12)}
.recent-stats-btn{margin-left:4px}
.recent-stats-result{margin-top:12px}
.recent-stats-empty{text-align:center;padding:16px;color:var(--text-muted);font-size:13px}
.recent-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.recent-stat-item{text-align:center;padding:14px 8px;background:rgba(255,255,255,.02);border:1px solid var(--border-glass);border-radius:var(--radius-sm)}
.recent-stat-value{display:block;font-size:24px;font-weight:900;font-family:var(--font-display);letter-spacing:-1px;margin-bottom:4px}
.recent-stat-item.good .recent-stat-value{color:var(--green-glow)}
.recent-stat-item.bad .recent-stat-value{color:var(--red-glow)}
.recent-stat-label{font-size:11px;color:var(--text-muted);font-weight:500}

/* 组合预测组 */
.combo-group{background:rgba(139,92,246,.04);border:1px solid rgba(139,92,246,.1);border-radius:12px;padding:12px;margin-bottom:8px}
.combo-label{font-size:12px;font-weight:700;margin-bottom:6px}

/* 历史回测区 */
.history-section{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-subtle)}
.history-title{font-size:12px;color:var(--text-muted);margin-bottom:8px}
.history-table-wrap{max-height:400px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.history-table{width:100%;border-collapse:collapse;font-size:12px}
.history-table th{text-align:left;padding:8px 6px;color:var(--violet-glow);font-weight:600;border-bottom:1px solid var(--border-glass);font-size:10px;letter-spacing:1px;white-space:nowrap;position:sticky;top:0;background:rgba(10,12,28,.95);z-index:1}
.history-table td{padding:8px 6px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}
.history-table tr:hover td{background:rgba(255,255,255,.02)}
.td-mono{font-family:var(--font-mono)}
.td-sm{font-size:10px}
.td-hit{color:var(--green-glow)!important;font-weight:700}
.td-miss{color:var(--red-glow)!important}
.td-expect{color:var(--violet-glow)!important;font-weight:600}
.td-zodiac{font-weight:600;color:var(--gold-glow)!important}
.mini-tags{display:flex;flex-wrap:wrap;gap:2px}
.mini-tag{padding:1px 5px;border-radius:4px;font-size:10px;background:rgba(139,92,246,.1);color:var(--violet-glow);white-space:nowrap}
.badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:10px;font-weight:700}
.badge-hit{background:rgba(34,197,94,.15);color:#22c55e}
.badge-miss{background:rgba(239,68,68,.1);color:#ef4444}

/* 统计对比区 */
.stats-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.stats-column{background:rgba(255,255,255,.01);border-radius:var(--radius-md);border:1px solid var(--border-glass);overflow:hidden}
.stats-col-header{padding:12px 16px;font-size:14px;font-weight:700;border-bottom:2px solid;background:rgba(255,255,255,.02)}
.stat-table-wrap{overflow-x:auto}
.rank-top td{background:rgba(245,158,11,.06)}
.rank-top td:first-child{color:var(--gold-glow);font-weight:700}

.cross-analysis{margin-top:16px;padding:16px;background:rgba(139,92,246,.03);border:1px solid var(--border-glass);border-radius:var(--radius-md)}
.cross-title{font-size:14px;font-weight:700;color:var(--violet-glow);margin-bottom:12px}
.cross-insight{margin-bottom:12px;font-size:13px;line-height:2;color:var(--text-secondary)}
.cross-insight strong{color:#fff}
.cross-table-wrap{overflow-x:auto}

@media(max-width:768px){
    .stats-grid-2col{grid-template-columns:1fr}
    .zone-tab-btn{font-size:12px;padding:8px 12px}
    .dim-section-label{display:none}
}

@media(max-width:480px){
    .stats-grid{grid-template-columns:1fr 1fr}
    .zodiac-tag{width:48px;min-width:48px;height:48px;box-shadow:0 3px 10px rgba(0,0,0,0.35),0 0 0 1px rgba(255,255,255,0.1) inset,0 0 0 4px rgba(0,0,0,0.08)}
    .zcrystal-inner{width:36px;height:36px}
    .zcrystal-inner .z-emoji{font-size:16px}
    .zcrystal-inner .z-name{font-size:13px}
    .prediction-display{gap:4px;overflow-x:visible;flex-wrap:nowrap;justify-content:space-evenly}
    .table-wrap{max-height:360px;overflow-y:auto;overflow-x:hidden}
    .panel-body{padding:4px}
    thead tr{padding:6px 4px}
    th{font-size:8px;padding:0 2px 0 32px;flex:1 1 auto}
    th:first-child{flex:0 0 44px}
    tbody tr{padding:8px 4px}
    td{padding:0 2px;font-size:9px;flex:1 1 auto}
    td::before{display:none}
    td:first-child{flex:0 0 44px}
    .ball-num{width:22px;height:22px;font-size:10px;border-width:2px}
    .ball-special{width:28px;height:28px;font-size:11px;border-width:3px}
    .ball-row{gap:2px}
    .zodiac-mini{padding:1px 4px;font-size:8px}
    .badge{padding:1px 6px;font-size:8px}
    .header-nav a{padding:5px 12px;font-size:11px}
}

/* ═══════════════════════════════════════════════════════
   自动下注页面 — Betting
   ═══════════════════════════════════════════════════════ */

.betting-tabs {
    display: flex; gap: 8px; margin-bottom: 28px;
}
.bet-tab-btn {
    flex: 1; padding: 14px 24px;
    background: var(--bg-card); border: 1px solid var(--border-glass);
    border-radius: var(--radius-md); color: var(--text-secondary);
    font-size: 15px; font-weight: 600; font-family: var(--font);
    cursor: pointer; transition: all 0.3s var(--ease-out);
    backdrop-filter: blur(20px);
}
.bet-tab-btn:hover { color: #fff; border-color: var(--border-glow); }
.bet-tab-btn.active {
    color: #fff; border-color: transparent;
    background: var(--gradient-1); box-shadow: 0 4px 24px rgba(139,92,246,0.4);
}

.bet-panel { display: none; }
.bet-panel.active { display: block; }

@media(max-width:768px){
    .super-tail-table,
    .super-tail-table table,
    .super-tail-table thead,
    .super-tail-table tbody,
    .super-tail-table tr,
    .super-tail-table th,
    .super-tail-table td{ display:revert; }
    .super-tail-table{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .super-tail-table table{ width:100%; min-width:500px; border-collapse:collapse; font-size:11px; }
    .super-tail-table th{ padding:6px 4px; font-size:9px; white-space:nowrap; text-align:left; background:rgba(10,12,28,.95); position:sticky; top:0; }
    .super-tail-table td{ padding:6px 4px; font-size:10px; white-space:nowrap; border-bottom:1px solid var(--border-subtle); }
}

.bet-config-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px; margin-bottom: 24px;
    background: var(--bg-card); border: 1px solid var(--border-glass);
    border-radius: var(--radius-lg); padding: 24px;
    backdrop-filter: blur(20px); box-shadow: var(--shadow-glass);
}
.bet-field { display: flex; flex-direction: column; gap: 6px; }
.bet-field label {
    font-size: 12px; font-weight: 600; color: var(--text-secondary);
    text-transform: uppercase; letter-spacing: 1px;
}
.bet-field input, .bet-field select {
    background: var(--bg-input); color: var(--text-primary);
    border: 1px solid var(--border-glass); border-radius: var(--radius-sm);
    padding: 10px 14px; font-size: 14px; font-family: var(--font-mono);
    transition: border-color 0.3s; outline: none;
}
.bet-field input:focus, .bet-field select:focus {
    border-color: var(--violet); box-shadow: 0 0 0 3px rgba(139,92,246,0.15);
}
.bet-field select { cursor: pointer; }
.bet-field-btn { justify-content: flex-end; }

.bet-btn {
    padding: 10px 28px; border: none; border-radius: var(--radius-pill);
    font-size: 14px; font-weight: 700; font-family: var(--font);
    cursor: pointer; transition: all 0.3s var(--ease-spring);
    color: #fff; letter-spacing: 0.5px;
}
.bet-btn-start { background: var(--gradient-1); box-shadow: 0 4px 20px rgba(139,92,246,0.35); }
.bet-btn-start:hover { transform: translateY(-2px); box-shadow: 0 6px 28px rgba(139,92,246,0.55); }
.bet-btn-stop {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    box-shadow: 0 4px 20px rgba(239,68,68,0.35);
}
.bet-btn-stop:hover { transform: translateY(-2px); box-shadow: 0 6px 28px rgba(239,68,68,0.55); }

.bet-status {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px; margin-bottom: 24px;
    background: var(--bg-card); border: 1px solid var(--border-glass);
    border-radius: var(--radius-lg); padding: 20px 24px;
    backdrop-filter: blur(20px); box-shadow: var(--shadow-glass);
}
.status-row { display: flex; flex-direction: column; gap: 4px; }
.status-label {
    font-size: 11px; font-weight: 600; color: var(--text-muted);
    text-transform: uppercase; letter-spacing: 1px;
}
.status-value {
    font-size: 15px; font-weight: 700; font-family: var(--font-mono); color: var(--text-primary);
}
.status-state { font-family: var(--font); }
.state-running { color: var(--green) !important; }
.state-stopped { color: var(--text-muted) !important; }

.bet-log-container {
    background: var(--bg-card); border: 1px solid var(--border-glass);
    border-radius: var(--radius-lg); overflow: hidden;
    backdrop-filter: blur(20px); box-shadow: var(--shadow-glass);
}
.bet-log-header {
    padding: 14px 20px; font-size: 13px; font-weight: 700; color: var(--text-secondary);
    border-bottom: 1px solid var(--border-subtle);
    text-transform: uppercase; letter-spacing: 1px;
}
.bet-log-body {
    max-height: 360px; overflow-y: auto; padding: 12px 20px;
    font-family: var(--font-mono); font-size: 12px; line-height: 1.8;
}
.log-empty { color: var(--text-muted); text-align: center; padding: 30px 0; }
.log-entry { padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,0.02); }
.log-time { color: var(--text-muted); margin-right: 10px; }
.log-info { color: var(--text-secondary); }
.log-success { color: var(--green); }
.log-error { color: var(--red); }
.log-warn { color: var(--gold); }
.log-win { color: var(--green); font-weight: 600; }
.log-lose { color: var(--red); font-weight: 600; }

/* ── 代理设置栏 ──────────────────────────────── */
.proxy-bar {
    display: flex; align-items: center; gap: 14px;
    background: var(--bg-card); border: 1px solid var(--border-glass);
    border-radius: var(--radius-lg); padding: 16px 24px; margin-bottom: 24px;
    backdrop-filter: blur(20px); box-shadow: var(--shadow-glass);
}
.proxy-field { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.proxy-field label {
    font-size: 12px; font-weight: 600; color: var(--text-secondary);
    text-transform: uppercase; letter-spacing: 1px;
}
.proxy-field input {
    background: var(--bg-input); color: var(--text-primary);
    border: 1px solid var(--border-glass); border-radius: var(--radius-sm);
    padding: 10px 14px; font-size: 14px; font-family: var(--font-mono);
    transition: border-color 0.3s; outline: none;
}
.proxy-field input:focus { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(139,92,246,0.15); }
.proxy-btn {
    flex-shrink: 0; margin-top: 20px; white-space: nowrap;
}
.proxy-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.proxy-status { font-size: 13px; font-weight: 600; flex-shrink: 0; margin-top: 20px; }
.proxy-ok { color: var(--green); }
.proxy-fail { color: var(--red); }

/* ── 下注时段选择 ───────────────────────────── */
.period-checkboxes {
    display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
    background: var(--bg-card); border: 1px solid var(--border-glass);
    border-radius: var(--radius-lg); padding: 14px 20px; margin-bottom: 24px;
    backdrop-filter: blur(20px); box-shadow: var(--shadow-glass);
}
.period-label {
    font-size: 12px; font-weight: 700; color: var(--text-secondary);
    text-transform: uppercase; letter-spacing: 1px; margin-right: 4px;
}
.period-cb {
    font-size: 12px; color: var(--text-secondary); cursor: pointer;
    display: flex; align-items: center; gap: 3px; padding: 4px 8px;
    border-radius: var(--radius-sm); transition: all 0.2s;
    user-select: none; -webkit-user-select: none;
}
.period-cb:hover { color: #fff; background: rgba(255,255,255,0.05); }
.period-cb input[type=checkbox] { accent-color: var(--violet); cursor: pointer; }
.period-actions { margin-left: auto; display: flex; gap: 10px; }
.period-actions a { font-size: 11px; color: var(--violet); text-decoration: none; }
.period-actions a:hover { color: var(--violet-glow); }
.cb-label { display: flex !important; align-items: center; gap: 6px; cursor: pointer; font-size: 13px !important; color: #f59e0b !important; text-transform: none !important; letter-spacing: 0 !important; }
.cb-label input[type=checkbox] { width: auto; accent-color: #f59e0b; }
/* 触发条件UI */
.triggers-container { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 4px; }
.trigger-cat { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.trigger-cat-label { font-size: 11px; font-weight: 700; color: #f59e0b; text-transform: uppercase; letter-spacing: 1px; }
.trigger-add-btn { font-size: 10px; padding: 2px 8px; background: rgba(245,158,11,0.15); color: #f59e0b; border: 1px solid rgba(245,158,11,0.3); border-radius: 3px; cursor: pointer; }
.trigger-add-btn:hover { background: rgba(245,158,11,0.3); }
.trigger-row { display: flex; align-items: center; gap: 4px; padding: 3px 0; }
.trigger-row .cb-label { font-size: 12px !important; color: var(--text-secondary) !important; text-transform: none !important; letter-spacing: 0 !important; display: flex; align-items: center; gap: 4px; }
.trigger-row select { padding: 2px 4px; font-size: 11px; background: var(--bg-input); color: var(--text-primary); border: 1px solid var(--border-glass); border-radius: 3px; }
.trigger-del-btn { font-size: 11px; padding: 0 4px; background: none; color: #ef4444; border: none; cursor: pointer; opacity: 0.5; }
.trigger-del-btn:hover { opacity: 1; }
.period-custom { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.period-custom label { font-size: 11px; color: var(--text-muted); white-space: nowrap; }
.k-period-container { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 4px; }
.k-period-row { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--text-secondary); }
.k-period-row span { min-width: 60px; }
.k-period-mode-sel { color: #fff !important; }
.k-period-row select { color: #000 !important; background: #e8e8e8 !important; -webkit-text-fill-color: #000 !important; }
.k-period-row select option { color: #000 !important; background: #fff !important; }
.k-period-add { grid-column: 1 / -1; font-size: 10px; padding: 4px 12px; background: rgba(139,92,246,0.12); color: var(--violet); border: 1px solid rgba(139,92,246,0.3); border-radius: 3px; cursor: pointer; justify-self: start; }

/* ═══ AI推理面板 ═══ */
.ai-panel{padding:16px}
.ai-header{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;color:#fff;margin-bottom:8px}
.ai-icon{font-size:28px}
.ai-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px;background:linear-gradient(135deg,rgba(139,92,246,.25),rgba(59,130,246,.25));color:#a78bfa;border:1px solid rgba(139,92,246,.3)}
.ai-desc{font-size:12px;color:var(--text-muted);margin-bottom:14px}
.ai-lottery-tabs{display:flex;gap:8px;margin-bottom:16px}
.ai-lottery-btn{padding:8px 18px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid var(--border-glass);background:rgba(255,255,255,.03);color:var(--text-secondary);cursor:pointer;transition:all .2s}
.ai-lottery-btn.active{color:#fff;border-color:var(--violet);background:rgba(139,92,246,.15);box-shadow:0 0 12px rgba(139,92,246,.2)}
.ai-actions{margin-top:14px;text-align:center}
.ai-loading{text-align:center;padding:40px;color:var(--text-muted);font-size:14px}
.ai-result-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,rgba(139,92,246,.1),rgba(59,130,246,.1));border-radius:12px;margin-bottom:12px}
.ai-result-header .expect-num{font-size:24px;font-weight:900;color:var(--gold-glow)}
.ai-time{font-size:11px;color:var(--text-muted)}
.ai-analysis{padding:10px 14px;background:rgba(255,255,255,.03);border:1px solid var(--border-glass);border-radius:10px;font-size:12px;color:var(--text-secondary);margin-bottom:12px;line-height:1.7}
.ai-section{margin-bottom:12px}
.ai-section-title{font-size:13px;font-weight:700;color:var(--violet-glow);margin-bottom:6px}
.ai-section-items{display:flex;flex-wrap:wrap;gap:6px}
.ai-item{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 8px;border-radius:50%;font-size:15px;font-weight:800;background:radial-gradient(circle at 35% 35%,#ffd700,#b8860b);color:#1a1a1a;box-shadow:0 3px 12px rgba(245,158,11,.3)}
.ai-item.ai-num{border-radius:12px;background:rgba(139,92,246,.15);color:#c4b5fd;box-shadow:none;border:1px solid rgba(139,92,246,.3);font-size:13px;min-width:40px;height:40px}
.ai-combo-group{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.ai-combo-label{font-size:11px;font-weight:700;color:var(--text-muted);min-width:32px}
.ai-disclaimer{text-align:center;font-size:11px;color:var(--text-muted);padding:10px;border-top:1px solid var(--border-subtle);margin-top:8px}

/* [deploy-fix] 移动端 history-table 分割线/列对齐 */
@media(max-width:768px){
    .history-table th{padding:0 3px;letter-spacing:0;border-bottom:none}
    .history-table td{padding:0 3px;border-bottom:none}
    .history-table tr:hover td{background:none}
    .history-table tbody tr:hover{background:rgba(255,255,255,.02)}
    .history-table th:first-child,.history-table td:first-child{flex:0 0 56px}
    .history-table:has(th:nth-child(4):last-child) th:nth-child(2),
    .history-table:has(th:nth-child(4):last-child) td:nth-child(2){flex:1 1 0;min-width:0}
    .history-table:has(th:nth-child(4):last-child) th:nth-child(n+3),
    .history-table:has(th:nth-child(4):last-child) td:nth-child(n+3){flex:0 0 44px;justify-content:center}
}
@media(max-width:480px){
    .history-table th:first-child,.history-table td:first-child{flex:0 0 50px}
}
