
:root{--bg:#0a0e1a;--bg2:#111827;--card:#161d2e;--line:#232d45;--tx:#e6ebf5;--mut:#8b97b0;
--red:#e5484d;--blue:#3b82f6;--green:#22c55e;--acc:#f5a623;--up:#22c55e;--down:#e5484d;}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--tx);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 18px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:var(--mut)}
.muted{color:var(--mut)}
.r{text-align:right}
.up{color:var(--up)}.down{color:var(--down)}

.hdr{position:sticky;top:0;z-index:20;background:rgba(10,14,26,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr__in{display:flex;align-items:center;gap:22px;height:60px}
.logo{display:flex;align-items:center;gap:9px;font-weight:700}
.logo__mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--acc),#e5484d);display:grid;place-items:center;font-size:15px;color:#0a0e1a}
.nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav__a{padding:7px 13px;border-radius:8px;font-size:14px;color:var(--mut);white-space:nowrap}
.nav__a:hover{color:var(--tx);background:var(--bg2)}
.nav__a.is-active{color:#0a0e1a;background:var(--acc);font-weight:600}

.main{padding:26px 18px 60px}
.page-head{margin-bottom:20px}
.page-head h1{font-size:26px;letter-spacing:-.02em;margin-bottom:6px}
.lead{color:var(--mut);font-size:14px;max-width:760px}

.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}
.card--hero{background:linear-gradient(160deg,#1a2338,#141b2b)}
.card__hd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.card__hd h2{font-size:16px;font-weight:650}
.lnk{color:var(--acc);font-size:13px}
.grid{display:grid;gap:16px;margin-bottom:16px}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
@media(max-width:860px){.grid--2,.grid--3{grid-template-columns:1fr}}

.balls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ball{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:15px;color:#fff;box-shadow:inset 0 -2px 0 rgba(0,0,0,.25)}
.ball--red{background:linear-gradient(160deg,#f0575c,#c93034)}
.ball--blue{background:linear-gradient(160deg,#4f8ef7,#2563eb)}
.ball--green{background:linear-gradient(160deg,#34d17a,#16a34a)}
.ball--extra{outline:2px dashed var(--acc);outline-offset:3px}
.draw-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:16px}
.extra{display:flex;align-items:center;gap:9px}
.extra__lbl{font-size:12px;color:var(--mut)}


.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;border-top:1px solid var(--line);padding-top:14px}
.kv>div{display:flex;flex-direction:column;gap:3px}
.kv span{font-size:12px;color:var(--mut)}
.kv b{font-size:16px}

.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font-weight:600;font-size:12px;color:var(--mut);padding:8px 10px;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em}
.tbl td{padding:9px 10px;border-bottom:1px solid rgba(35,45,69,.5);vertical-align:middle}
.tbl tbody tr:hover{background:rgba(255,255,255,.02)}
.tbl tfoot td{padding-top:12px;font-weight:700;border-top:1px solid var(--line)}
.tbl .ball{width:30px;height:30px;font-size:13px}
.scroll{overflow-x:auto}

.rank{list-style:none;display:flex;flex-direction:column;gap:6px}
.rank li{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:9px;background:rgba(255,255,255,.02)}
.rank__i{width:20px;font-size:12px;color:var(--mut);font-variant-numeric:tabular-nums}
.rank__v{margin-left:auto;font-size:13px;color:var(--mut)}

.bar{margin-bottom:12px}
.bar__hd{display:flex;justify-content:space-between;font-size:13px;margin-bottom:5px}
.bar__hd em{font-style:normal;font-size:12px;margin-left:5px}
.bar__track{height:7px;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden}
.bar__fill{display:block;height:100%;border-radius:4px}
.bar__fill--red{background:var(--red)}.bar__fill--blue{background:var(--blue)}.bar__fill--green{background:var(--green)}

.tools{list-style:none;display:flex;flex-direction:column;gap:7px}
.tools a{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.03);font-size:14px;transition:.15s}
.tools a:hover{background:rgba(245,166,35,.12)}
.tools em{font-style:normal;font-size:12px;color:var(--mut)}

.calc{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:16px}
.calc__fld label{display:block;font-size:12px;color:var(--mut);margin-bottom:7px}
.seg{display:flex;gap:5px;flex-wrap:wrap}
.seg__b{padding:7px 13px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--mut);font-size:13px;cursor:pointer;font-family:inherit;transition:.15s}
.seg__b:hover{border-color:var(--acc);color:var(--tx)}
.seg__b.is-on{background:var(--acc);border-color:var(--acc);color:#0a0e1a;font-weight:650}
.rng{display:flex;align-items:center;gap:12px}
.rng input[type=range]{flex:1;accent-color:var(--acc)}
.rng__v{min-width:34px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.inp{width:100%;padding:9px 12px;border-radius:9px;border:1px solid var(--line);background:var(--bg2);color:var(--tx);font-size:14px;font-family:inherit}
.inp:focus{outline:none;border-color:var(--acc)}
.hint{font-size:12px;color:var(--mut);margin-top:6px}
.hint.err{color:var(--down)}

.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;border-top:1px solid var(--line);padding-top:14px;margin-top:6px}
.kpi{display:flex;flex-direction:column;gap:3px}
.kpi span{font-size:12px;color:var(--mut)}
.kpi b{font-size:19px;font-variant-numeric:tabular-nums}

.btn{padding:9px 20px;border-radius:9px;border:none;background:var(--acc);color:#0a0e1a;font-weight:650;font-size:14px;cursor:pointer;font-family:inherit}
.btn:hover{filter:brightness(1.08)}
.btn--ghost{background:transparent;border:1px solid var(--line);color:var(--tx)}
.btn--sm{padding:4px 10px;font-size:12px;font-weight:500}
.row-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}

.pool{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;margin-bottom:16px}
@media(max-width:620px){.pool{grid-template-columns:repeat(7,1fr)}}
.pool__b{aspect-ratio:1;border-radius:50%;border:1px solid var(--line);background:var(--bg2);color:var(--mut);font-weight:650;font-size:13px;cursor:pointer;font-family:inherit;display:grid;place-items:center;transition:.12s}
.pool__b:hover{border-color:var(--acc)}
.pool__b.is-on{background:var(--acc);border-color:var(--acc);color:#0a0e1a}
.pool__b.is-hit{box-shadow:0 0 0 2px var(--up)}

.formula{background:rgba(245,166,35,.08);border-left:3px solid var(--acc);padding:10px 14px;border-radius:0 9px 9px 0;font-family:ui-monospace,monospace;font-size:13px;line-height:1.9;margin:10px 0}
.note{font-size:12px;color:var(--mut);margin-top:10px;line-height:1.7}
.stat-big{display:flex;flex-direction:column;gap:4px;padding:10px 0}
.stat-big b{font-size:34px;letter-spacing:-.02em;color:var(--acc)}
.stat-big span{font-size:13px;color:var(--mut)}
.card p{font-size:14px;color:#c3ccdd;margin-bottom:9px}

.ftr{border-top:1px solid var(--line);padding:24px 0;margin-top:20px}
.ftr__note{font-size:12px;color:var(--mut);max-width:820px;line-height:1.8}
.ftr__warn{font-size:12px;color:var(--acc);margin-top:9px}

/* ── 号码总览网格（1-49） ─────────────────────────────── */
.numgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
@media(max-width:760px){.numgrid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:460px){.numgrid{grid-template-columns:repeat(4,1fr)}}
.numcell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:10px;background:rgba(255,255,255,.03);border:1px solid transparent;transition:.15s}
.numcell:hover{background:rgba(245,166,35,.12);border-color:var(--acc)}
.numcell__v{font-size:12px;color:var(--tx);font-variant-numeric:tabular-nums}
.numcell__d{font-size:11px;color:var(--mut);font-variant-numeric:tabular-nums}

/* ── 搅珠地图热力格 ─────────────────────────────────── */
.mapgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:12px}
.mapcell{position:relative;aspect-ratio:1;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
background:rgba(245,166,35,calc(var(--i) * .72));border:1px solid rgba(245,166,35,.28)}
.mapcell__n{font-size:13px;font-weight:700;color:#0a0e1a}
.mapcell__c{font-size:11px;color:rgba(10,14,26,.75);font-variant-numeric:tabular-nums}
.maplegend{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.maplegend__bar{width:160px;height:8px;border-radius:4px;background:linear-gradient(90deg,rgba(245,166,35,.12),rgba(245,166,35,.85))}

/* ── 标签（精选原因等） ───────────────────────────────── */
.tag{display:inline-block;padding:2px 8px;margin:1px 2px 1px 0;border-radius:6px;font-size:11px;background:rgba(245,166,35,.14);color:var(--acc);white-space:nowrap}

/* ── 摇摇匙扣模拟器 ─────────────────────────────────── */
.keychain{margin-bottom:16px}
.keychain__drum{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}
@media(max-width:700px){.keychain__drum{grid-template-columns:repeat(7,1fr)}}
.keychain__ball{width:100%!important;height:auto!important;aspect-ratio:1;font-size:13px;opacity:.35;transition:opacity .25s,transform .25s}
.keychain__ball.is-picked{opacity:1;transform:scale(1.08)}
.keychain__ball.is-out{opacity:.12;transform:scale(.85)}
.keychain__out{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}

/* ── 表单控件补充 ───────────────────────────────────── */
textarea.inp{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6}
