:root{color-scheme:dark;--bg:#0b1018;--panel:#121b28;--line:#293648;--text:#edf3fa;--muted:#a4b2c5;--accent:#63dfbc;--gold:#f1c76b;font-family:Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.55}button,select{font:inherit;color:inherit;background:#192638;border:1px solid var(--line);border-radius:10px;padding:10px 14px;cursor:pointer}button:hover{border-color:var(--accent);background:#203649}button:disabled{opacity:.45;cursor:default}button:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:24px;letter-spacing:-.7px}h2{font-size:22px;letter-spacing:-.5px}h3{font-size:19px}i,em{font-style:normal}.wrap{max-width:1440px;margin:auto;padding:32px}.head,.controls,.latestUltraMain,.chooseHead,.sectionHead,.subHead,.storyHead,.drawtop,.profileTop,.prizeName{display:flex;align-items:center;justify-content:space-between;gap:16px}.head{flex-wrap:wrap}.brand p,.date,p,.small,.subHead span,.profileMeta,.storyDraw small{color:var(--muted);font-size:14px}.brandMark{color:var(--accent)}.verBadge{font-size:12px;vertical-align:middle;border:1px solid var(--line);padding:4px 8px;border-radius:6px;margin-left:8px;color:var(--muted)}.controls{gap:8px;flex-wrap:wrap}.tab.active{color:var(--bg);background:var(--accent);border-color:var(--accent);font-weight:700}.primary{border-color:#458b7d;color:var(--accent)}.status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;margin:20px 0}.led{width:7px;height:7px;border-radius:50%;background:var(--gold)}.led.ok{background:var(--accent)}.led.bad{background:#ff8a8a}.error{display:none;padding:16px;background:#3a222b;border-radius:10px;margin-bottom:16px}.card,.latest{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;min-width:0}.latest{margin-bottom:24px;border-top:3px solid var(--accent)}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;color:var(--accent)}.drawid{font-size:26px;font-weight:700}.latestnums{display:flex;gap:10px;flex-wrap:wrap}.bigball{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--gold);color:#1d211d;font-size:23px;font-weight:750}.bigball.special{background:transparent;color:var(--accent);border:2px solid var(--accent)}.prizeMini{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:22px}.prizeItem{border-left:1px solid var(--line);padding-left:16px}.prizeName{font-size:13px;color:var(--muted);gap:6px;flex-wrap:wrap}.prizeMoney{font-size:22px;font-weight:650}.main .prizeMoney{color:var(--gold)}.prizeEmpty{color:var(--muted);margin-top:12px}.cycleStoryLayout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.cycleHero{grid-column:1/-1}.cycleHeroHead{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.cycleHeroStats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cycleHeroStats>div{border-left:1px solid var(--line);padding-left:18px}.cycleHeroStats b{display:block;font-size:28px;color:var(--gold)}.cycleHeroStats span{font-size:13px;color:var(--muted)}.cycleWorkspace{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.subHead{margin-bottom:16px;align-items:flex-start}.subHead span{display:block}.subHead b{font-size:16px}.drawToggleBtn{font-size:13px;white-space:nowrap}.cycleDraws{max-height:310px;overflow:auto;padding-right:8px}.draw{padding:14px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;cursor:pointer}.draw:hover,.activeDraw{border-color:var(--accent);background:#1a2b38}.drawtop{font-size:13px;color:var(--muted);margin-bottom:10px;flex-wrap:wrap}.nums,.winningSet,.storyBalls,.profileNums{display:flex;gap:8px;flex-wrap:wrap}.mini,.winningSet i,.profileNums i,.storyBalls i{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-weight:600;font-size:14px}.repeat,.drawViewTag{font-size:12px;color:var(--muted);margin-top:6px}.drawViewTag{display:none}.signalSimple{display:grid;grid-template-columns:1fr 1fr;gap:16px}.signalSimple strong{font-size:14px}.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;max-height:120px;overflow:auto}.pill{font-size:12px;padding:4px 8px;background:#1c2b3c;border-radius:6px;color:#ccd8e6}.pill.hot{color:var(--gold)}.chooseCard{grid-column:2;grid-row:2}.chooseHead{display:block}.chosenBig{color:var(--gold);font-size:23px;font-weight:700;letter-spacing:2px;margin:16px 0;padding:12px;background:#0b131f;border-radius:10px;min-height:60px}.leanTop{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.leanNum{text-align:center;background:#1b293a;border-radius:8px;padding:8px 0}.leanNum b{display:block;font-size:20px}.leanNum span{font-size:12px;color:var(--accent)}.scoreNote{font-size:12px;margin:14px 0}.leanSets{display:grid;gap:8px}.leanSets button{text-align:left}.leanSets span{display:block;font-size:12px;color:var(--muted)}.leanSets b{font-size:16px;letter-spacing:1px}.pickSimple{margin-top:20px;border-top:1px solid var(--line);padding-top:20px}.pickButtons{display:flex;gap:6px;flex-wrap:wrap}.pickButtons button{font-size:12px;padding:9px}.analysis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.metric{font-size:12px;color:var(--muted)}.metric b{display:block;font-size:18px;color:var(--text)}.setting{margin-top:18px;font-size:13px}.setting select{width:100%;margin-top:8px;font-size:13px}.mapCard{grid-column:1;grid-row:2}.sectionHead{align-items:flex-start;margin-bottom:24px}.statusMini{font-size:12px;text-align:right;color:var(--muted);min-width:70px}.statusMini b{display:block;color:var(--gold)}.ngrid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px}.ball{position:relative;padding:14px 2px 10px;font-size:23px;font-weight:650;min-height:82px;background:#162231}.ball .ago{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:5px}.ball .x{position:absolute;right:5px;top:2px;font-size:11px;color:var(--accent)}.ball.latesthit{border-color:var(--gold);color:var(--gold)}.ball.drawhit{box-shadow:inset 0 0 0 2px var(--drawColor)}.ball.sel{background:#245e50;border-color:var(--accent);color:white}.ball.sel:after{content:'✓';position:absolute;left:4px;top:1px;font-size:12px}.jackpotArchive{grid-column:1/-1}.profileList{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.profileCard{text-align:left;padding:16px}.profileCard.active{border-color:var(--accent)}.profileTop{font-size:14px}.profileTop strong{color:var(--accent)}.profileNums{margin:12px 0;gap:5px}.profileNums i{width:28px;height:28px;font-size:12px}.profileMeta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px}.storyHead{margin:26px 0 16px;flex-wrap:wrap}.winningSet i,.match{color:var(--gold);border-color:var(--gold)!important}.storyTimeline{display:flex;gap:12px;overflow:auto;padding-bottom:12px}.storyDraw{min-width:205px;padding:16px;border:1px solid var(--line);border-radius:10px}.storyDrawTop{display:flex;justify-content:space-between;font-size:12px;margin-bottom:12px}.storyBalls{gap:4px}.storyBalls i{width:25px;height:25px;font-size:12px}.winner{border-color:var(--accent)}.beforeWinTitle{margin:20px 0 12px}.beforeWinTitle span{display:block;color:var(--muted);font-size:13px}.winNumberAnalysis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.winStat{display:flex;align-items:center;gap:12px;background:#182536;padding:14px;border-radius:10px}.winStat i{font-size:22px;color:var(--gold)}.winStat span{display:block;font-size:12px;color:var(--muted)}.winStat em{font-size:12px;margin-left:auto;color:var(--accent)}.storySummary{display:flex;gap:24px;margin-top:20px}.storySummary span{font-size:12px;color:var(--muted)}.storySummary b{display:block;font-size:22px;color:var(--text)}.emptyArchive{grid-column:1/-1;color:var(--muted);padding:20px}.drawViewBar{padding:12px;margin-bottom:12px;border:1px solid var(--line);gap:8px;font-size:13px}footer{padding:28px 0;color:var(--muted);font-size:12px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#3e5065;border-radius:8px}
@media(max-width:1100px){.wrap{padding:24px}.cycleStoryLayout{grid-template-columns:minmax(0,1fr) 320px}.cycleHeroHead{grid-template-columns:1fr}.ngrid{grid-template-columns:repeat(6,1fr)}.profileList{grid-template-columns:repeat(2,1fr)}.prizeMini{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.wrap{padding:16px}.head{gap:16px}.brand h1{font-size:21px}.controls{width:100%}.controls button{flex:1;padding:10px 8px;font-size:13px}.latestUltraMain{align-items:flex-start;flex-direction:column}.bigball{width:40px;height:40px;font-size:18px}.latestnums{gap:6px}.card,.latest{padding:18px;border-radius:14px}.cycleStoryLayout,.cycleWorkspace{display:flex;flex-direction:column;gap:18px}.cycleStoryLayout>section{width:100%}.mapCard{order:1}.chooseCard{order:2}.jackpotArchive{order:3}.cycleHeroStats{gap:6px}.cycleHeroStats>div{padding-left:10px}.cycleHeroStats b{font-size:24px}.cycleHeroStats span{font-size:11px}.prizeMini{grid-template-columns:repeat(2,1fr)}.prizeMoney{font-size:20px}.cycleDrawColumn,.cycleAnalysisColumn{width:100%}.signalSimple{gap:12px}.profileList,.winNumberAnalysis{grid-template-columns:1fr}.storySummary{flex-wrap:wrap}.sectionHead{gap:8px}h2{font-size:20px}.ngrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.ball{font-size:20px;padding-top:15px}.ball .ago{font-size:12px}.leanTop{grid-template-columns:repeat(5,1fr);gap:8px}.leanNum b{font-size:16px}.leanSets{grid-template-columns:1fr}.statusMini{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* V3.15.0: full-width reference panel above the number grid. */
.cycleStoryLayout{grid-template-columns:minmax(0,1fr)}
.chooseCard{grid-column:1;grid-row:2}
.mapCard{grid-column:1;grid-row:3}
.chooseHead{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}
.chosenBig{margin:0;min-width:300px;text-align:center;padding:14px 24px}
.chooseGrid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:28px}
.chooseGrid>div{min-width:0}
.chooseCard .leanTop{grid-template-columns:repeat(10,minmax(0,1fr))}
.chooseCard .leanSets{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.chooseCard .leanSets button{padding:12px}
.chooseCard .leanSets b{font-size:15px;letter-spacing:.5px}
.chooseCard .pickSimple{margin:0;padding:0 0 0 28px;border-top:0;border-left:1px solid var(--line)}
.chooseCard .analysis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}
.chooseCard .metric{font-size:13px}
.chooseCard .pickButtons button{font-size:13px;min-height:42px}
@media(max-width:1000px){
 .chooseGrid{grid-template-columns:minmax(0,1fr)}
 .chooseCard .pickSimple{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}
 .chooseCard .analysis{margin-top:16px}
}
@media(max-width:760px){
 .chooseCard{order:1}.mapCard{order:2}
 .chooseHead{flex-wrap:wrap;gap:14px}
 .chosenBig{min-width:0;width:100%;font-size:22px;padding:12px}
 .chooseCard .leanTop{grid-template-columns:repeat(5,minmax(0,1fr))}
 .chooseCard .leanSets{grid-template-columns:minmax(0,1fr)}
 .chooseCard .leanSets button{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
 .chooseCard .leanSets b{font-size:14px}
 .chooseCard .analysis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
