:root{--bg:#f3f7ff;--panel:#ffffff;--text:#111;--muted:#6b7280;--primary:#0f2a86;--accent:#f59e0b;--red:#e61b29;--blue:#1765d8;--green:#1e8f2f;--border:#d6dbe8;--card:#f8fafc}
*{box-sizing:border-box;font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}
body{margin:0;background:var(--bg);color:var(--text)}
button, .action-btn{font:inherit}
.page-shell{max-width:1220px;margin:0 auto;padding:16px}
.page-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;background:#fff;border:1px solid var(--border);border-radius:16px}
.banner-left{display:flex;flex-direction:column;gap:4px}
.banner-logo{font-size:1.85rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--primary)}
.banner-sub{font-size:.95rem;color:var(--muted)}
.banner-right{font-size:.95rem;color:var(--primary);padding:10px 18px;border:1px solid var(--border);border-radius:999px;background:#f8f9ff}
.tab-nav{display:flex;flex-wrap:wrap;gap:8px;padding:16px 22px;margin-top:16px;background:#fff;border:1px solid var(--border);border-radius:16px}
.tab{padding:10px 16px;border-radius:999px;background:#f8f9ff;color:var(--text);font-size:.95rem;border:1px solid transparent;cursor:pointer}
.tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.tab.extra{background:#e5e7eb;color:#111;width:42px;height:42px;display:grid;place-items:center}
.result-panel{margin-top:16px;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden}
.result-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px;border-bottom:1px solid var(--border)}
.result-title{font-size:1.2rem;font-weight:800;color:var(--primary);margin-bottom:6px}
.result-meta{color:var(--muted);font-size:.95rem}
.draw-body{display:grid;grid-template-columns:1.7fr 1fr;gap:18px;padding:22px}
.result-card{padding:18px;background:#f4f7ff;border:1px solid var(--border);border-radius:18px}
.numbers-row{display:grid;grid-template-columns:repeat(7,minmax(40px,1fr));gap:8px;align-items:center}
.ball-group{display:flex;flex-direction:column;align-items:center;gap:2px}
.ball{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-size:1rem;font-weight:900;padding:0;position:relative;flex-shrink:0;box-shadow:0 3px 8px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2);text-shadow:0 1px 2px rgba(0,0,0,.3)}
.ball::before{content:'';position:absolute;top:3px;left:50%;transform:translateX(-50%);width:60%;height:35%;background:linear-gradient(180deg,rgba(255,255,255,.7) 0%,rgba(255,255,255,.1) 100%);border-radius:50%;z-index:1;pointer-events:none}
.ball::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:70%;height:20%;background:linear-gradient(0deg,rgba(0,0,0,.2) 0%,transparent 100%);border-radius:50%;z-index:1;pointer-events:none}
.ball.blue{background:radial-gradient(circle at 35% 30%,#7eb8ff 0%,#3a8af5 30%,#1565d8 60%,#0a4ab8 100%)}
.ball.red{background:radial-gradient(circle at 35% 30%,#ff7b7b 0%,#f04040 30%,#e61b29 60%,#b81520 100%)}
.ball.green{background:radial-gradient(circle at 35% 30%,#7bff7b 0%,#40d840 30%,#1e8f2f 60%,#156a22 100%)}
.ball.gray{background:radial-gradient(circle at 35% 30%,#e0e0e0 0%,#b0b0b0 30%,#909090 60%,#707070 100%)}
.ball.gray::before{background:linear-gradient(180deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,.05) 100%)}
.ball.plus{box-shadow:0 3px 8px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2),0 0 0 3px rgba(255,215,0,.7)}
.zodiac{text-align:center;font-size:.95rem;font-weight:700;color:var(--text);background:transparent}
.control-card{padding:18px;background:#fff;border:1px solid var(--border);border-radius:18px;display:flex;flex-direction:column;gap:16px}
.countdown-panel{display:flex;flex-direction:column;gap:10px}
.countdown-label{font-size:.95rem;color:var(--muted)}
.countdown-timer{display:flex;gap:6px;flex-wrap:wrap}
.countdown-timer span{min-width:34px;padding:12px 0;background:#fff;border:1px solid var(--border);border-radius:12px;text-align:center;font-size:1.2rem;font-weight:800;color:var(--primary)}
.action-row{display:flex;flex-wrap:wrap;gap:10px}
.action-btn{padding:12px 20px;border-radius:999px;border:0;cursor:pointer;color:#fff;min-width:112px}
.action-btn.yellow{background:#f3c02d}
.action-btn.orange{background:#ee8d00}
.action-btn.red{background:#d83c3c}
.support-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.95rem;color:var(--muted)}
.support-row .link{text-decoration:none;color:var(--primary);font-weight:700}
.lottery-logo{display:flex;align-items:center;gap:6px}
.lottery-ball{width:18px;height:18px;border-radius:50%;display:inline-block;box-shadow:0 0 0 2px rgba(255,255,255,.7),0 2px 10px rgba(0,0,0,.08)}
.lottery-ball.red{background:#e61b29}
.lottery-ball.blue{background:#1765d8}
.lottery-ball.green{background:#1e8f2f}
.lottery-text{font-weight:700;color:var(--primary);letter-spacing:1px}
.banner-logo-inline .lottery-ball{width:10px;height:10px;box-shadow:none}
.banner-logo-inline .lottery-text{font-size:0.95rem;color:var(--primary)}
.unlock-section{margin-top:18px;padding:18px 22px;background:#fff;border:1px solid var(--border);border-radius:18px}
.unlock-title{font-size:1rem;font-weight:800;color:var(--primary);margin-bottom:12px}
.unlock-balls{display:flex;flex-wrap:wrap;gap:10px}
.unlock-ball{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 0 2px rgba(255,255,255,.72),0 2px 10px rgba(0,0,0,.08)}
.unlock-ball.red{background:#e61b29}
.unlock-ball.blue{background:#1765d8}
.unlock-ball.green{background:#1e8f2f}
.unlock-ball[data-index="5"]{border:2px dashed #111}
.unlock-ball.unlocked{transform:scale(1.05);box-shadow:0 0 0 2px rgba(255,255,255,.9),0 4px 14px rgba(0,0,0,.16)}
.unlock-note{margin-top:12px;color:var(--muted);font-size:.95rem}
.history-panel{margin-top:18px;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden}
.history-title{padding:18px 22px;font-size:1rem;font-weight:800;color:var(--primary);border-bottom:1px solid var(--border)}
.history-table{width:100%;border-collapse:collapse}
.history-table th,.history-table td{padding:14px 12px;border-bottom:1px solid var(--border);font-size:.95rem;vertical-align:middle}
.history-table th{text-align:left;color:var(--muted);font-weight:700}
.history-numbers{display:flex;gap:6px;flex-wrap:wrap}
.history-ball{min-width:28px;padding:8px 0;border-radius:8px;color:#fff;font-size:.85rem;font-weight:700;text-align:center}
.history-ball.blue{background:var(--blue)}
.history-ball.red{background:var(--red)}
.history-ball.green{background:var(--green)}
.history-ball.plus{box-shadow: inset 0 0 0 2px rgba(255,255,255,.18);}
.history-action{padding:8px 16px;border:none;border-radius:999px;background:#d83c3c;color:#fff;cursor:pointer}
.image-grid{margin-top:18px;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;padding:16px}
.image-grid-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.image-slot{width:100%;aspect-ratio:1/1;max-width:390px;max-height:390px;background:#f0f2f5;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.85rem;overflow:hidden}
.image-slot img{width:100%;height:100%;object-fit:cover;border-radius:12px;cursor:pointer}
.image-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);z-index:9999;display:flex;align-items:center;justify-content:center;cursor:pointer}
.image-modal-content{max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}
.image-modal-content img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,.5)}
.history-toggle{margin-top:14px;padding:14px 22px;background:#fff;border:1px solid var(--border);border-radius:16px;cursor:pointer;text-align:center;font-size:1rem;font-weight:700;color:var(--primary);transition:background .2s}
.history-toggle:hover{background:#f0f4ff}
.history-panel.collapsed{display:none}
@media(max-width:980px){.image-grid-inner{grid-template-columns:repeat(3,1fr);}}
@media(max-width:680px){.image-grid-inner{grid-template-columns:repeat(2,1fr);}}
@media(max-width:980px){.draw-body{grid-template-columns:1fr;}}
@media(max-width:680px){.tab-nav{gap:6px;padding:12px}.numbers-row{grid-template-columns:repeat(4,minmax(40px,1fr))}.action-row{flex-direction:column;align-items:stretch}.history-table th,.history-table td{padding:12px}}
@media(max-width:520px){.page-shell{padding:12px}.page-banner{flex-direction:column;align-items:flex-start}.banner-right{width:100%;text-align:center}}
