/* Loaded only by the lotto page, after the shared navigation/theme styles. */
body {
  --black:#101916; --bg:#101916; --d1:#16231e; --d2:#1c2b25;
  --d3:#293d33; --d4:#486154; --text:#f1f6f3; --dim:#baccc1;
  --gold:#91e3b7; --gold2:#3b9665; --blue:#a8ceff;
  --text-sub:#baccc1; --text-muted:#baccc1;
  --lotto-selected:#244c38;
  background:var(--bg); font-size:16px; line-height:1.65;
}
body.light-mode {
  --black:#f3f7f4; --bg:#f3f7f4; --d1:#fff; --d2:#fff;
  --d3:#e8f0eb; --d4:#b9cdc0; --text:#182b21; --dim:#4c6255;
  --gold:#17603c; --gold2:#17603c; --blue:#235b98;
  --text-sub:#4c6255; --text-muted:#4c6255;
  --lotto-selected:#e1f2e7;
}
body::before { display:none; }
.wrap { max-width:1000px; padding:24px 24px 72px; }
header { padding:20px 0 28px; }
header h1 { font-family:inherit; font-weight:800; font-size:clamp(30px,5vw,44px); line-height:1.3; letter-spacing:-1px; }
h1 .g { text-shadow:none; }
.badge { background:var(--lotto-selected); color:var(--gold); font-family:inherit; font-size:12px; font-weight:700; letter-spacing:1px; animation:none; padding:7px 14px; }
.sub { font-size:15px; letter-spacing:0; margin-top:12px; }
.clock-bar { flex-wrap:wrap; padding:16px; font-size:14px; gap:12px; }
.clock-info { min-width:200px; }
#status-msg { display:block; margin-left:0 !important; font-size:13px !important; }
.round-badge { font-size:13px; color:var(--gold); background:var(--lotto-selected); border-color:var(--d4); }
.sec-label,.stats-title { font-size:17px; font-weight:700; color:var(--text); letter-spacing:0; margin:24px 0 12px; }
.sec-label span { font-size:13px !important; font-weight:400; display:inline-block; }
.latest-wrap { overflow:visible; }
.latest-wrap::before,.latest-wrap::after { display:none; }
.latest-scroll { width:100%; overflow-x:auto; animation:none; transform:none; padding:0 0 14px; scrollbar-width:thin; scrollbar-color:var(--d4) var(--bg); scroll-snap-type:x proximity; }
.latest-scroll::-webkit-scrollbar { display:block; height:8px; }
.latest-card { min-width:292px; padding:16px; scroll-snap-align:start; cursor:default; }
.lc-round { font-size:16px; }
.lc-date { font-size:13px; }
.lc-ball,.lc-bonus { width:30px; height:30px; font-size:13px; opacity:1 !important; }
.lc-plus { font-size:14px; }
.mode-grid { gap:12px; }
.mode-btn { padding:18px 12px; color:var(--text); }
.mode-btn.active,.chip.active { background:var(--lotto-selected); border:2px solid var(--gold); color:var(--gold); box-shadow:none; }
.mode-btn:hover,.chip:hover,.fix-num:hover { border-color:var(--gold); }
.mi { font-size:24px; }
.mn { font-size:17px; }
.md { font-size:14px; opacity:1; color:var(--dim); line-height:1.55; margin-top:6px; }
.strategy-info,.fix-status,.ctrl-label,.fix-label { font-size:14px; }
.chip-row { flex-wrap:wrap; gap:8px; }
.chip { font-size:14px; min-height:44px; padding:9px 14px; }
.fix-grid { gap:8px; grid-template-columns:repeat(9,minmax(0,1fr)); }
.fix-num { aspect-ratio:auto; min-height:48px; font-size:18px; color:var(--text); }
.fix-num.selected[class] { background:var(--gold); color:var(--bg); border-color:var(--gold); box-shadow:none; }
.fix-status { padding:12px; }
.fix-status .ftag,.fix-status span,.ftag-x { font-size:13px !important; }
.gen-btn { font-family:inherit; background:#17603c; color:#fff; font-size:19px; font-weight:700; letter-spacing:0; animation:none; padding:18px; }
.gen-btn:hover { box-shadow:0 4px 16px #17603c33; }
.rs-head { flex-wrap:wrap; gap:10px; }
.rs-title { font-size:15px; letter-spacing:0; }
.rtag { font-size:12px; letter-spacing:0; background:var(--d3); color:var(--text); border-color:var(--d4); }
.score-label { width:76px; font-size:13px; }
.score-val { font-size:13px; width:36px; }
.sc-title { font-size:15px; letter-spacing:0; }
.mball { width:34px; height:34px; font-size:13px; }
.freq-n,.freq-c { font-size:14px; width:30px; }
.copy-btn { font-size:14px; min-height:44px; padding:8px 14px; color:var(--gold); background:var(--lotto-selected); border-color:var(--d4); }
.notice,.disclaimer { font-size:14px; color:var(--dim); line-height:1.8; }
.notice { background:var(--d2); border-color:var(--d4); text-align:left; padding:20px; }
hr { border-color:var(--d4); margin:28px 0; }
.inst-bar { background:var(--d2); }
.inst-desc,.ld-sub { font-size:14px; }
.loading-overlay { background:var(--bg); }
.b1 { background:#a52b36; color:#fff; }
.b2 { background:#865400; color:#fff; }
.b3 { background:#efd35a; color:#302500; }
.b4 { background:#285ca8; color:#fff; }
.b5 { background:#38642c; color:#fff; }
:is(button,a,[tabindex]):focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
@media(max-width:600px) {
  .wrap { padding:16px 16px 56px; }
  .mode-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .fix-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .clock-info { min-width:0; flex-basis:80%; }
  .balls-row { gap:6px; }
  .ball { width:38px; height:38px; font-size:16px; }
  .result-set { padding:12px; }
  .sec-label span { display:block; margin-top:4px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none !important; scroll-behavior:auto !important; transition:none !important; }
}

.range-custom { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:8px; }
#analysis-range { width:100px; min-height:46px; padding:8px 12px; border:1px solid var(--d4); border-radius:8px; background:var(--d2); color:var(--text); font:inherit; font-size:18px; }
#analysis-range:focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
#range-help { font-size:14px; color:var(--dim); }
#range-error { color:var(--text); font-size:14px; margin-bottom:10px; }
#analysis-range[aria-invalid="true"] { border:2px solid var(--red); }

.pattern-panel { background:var(--d2); border:1px solid var(--d4); border-radius:12px; padding:20px; margin-bottom:20px; }
.pattern-panel h3 { font-size:19px; color:var(--gold); }
.pattern-panel h4 { font-size:15px; margin-bottom:8px; }
.pattern-panel p,.pattern-panel li,.pattern-explanation p,.pattern-explanation small { font-size:14px; line-height:1.8; color:var(--dim); }
.pattern-panel p { margin:10px 0; }
.pattern-panel small { font-size:13px; }
.pattern-panel ul { padding-left:20px; }
.pattern-panel li strong { display:inline-block; margin-left:6px; color:var(--text); }
.pattern-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:18px 0; }
.pattern-panel summary { cursor:pointer; min-height:44px; padding:8px 0; }
.pattern-explanation { margin-top:16px; padding-top:14px; border-top:1px solid var(--d4); }
.pattern-explanation strong { color:var(--gold); }
.pattern-panel .chip:disabled { opacity:.6; cursor:not-allowed; }
@media(max-width:600px){.pattern-grid{grid-template-columns:1fr}.pattern-panel{padding:16px}.pattern-panel p,.pattern-explanation p{font-size:15px}}

.lotto-shortcuts { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 20px; }
.lotto-shortcuts a { color:var(--gold); padding:10px 12px; border:1px solid var(--d4); border-radius:8px; background:var(--d2); font-size:14px; }
#draw-checker,#lotto-generate,#stats-section { scroll-margin-top:80px; }
#draw-checker h2,.lotto-faq h2 { font-size:21px; }
#check-round { width:100%; margin:8px 0 18px; padding:10px; background:var(--d2); color:var(--text); border:1px solid var(--d4); border-radius:8px; font-size:16px; }
#check-draw .balls-row { justify-content:flex-start; margin:14px 0; }
#check-form fieldset { border:0; margin:18px 0 12px; }
.check-inputs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin-top:8px; }
.check-inputs input { width:100%; min-width:0; min-height:48px; font-size:18px; text-align:center; color:var(--text); background:var(--d1); border:1px solid var(--d4); border-radius:8px; }
.check-inputs input[aria-invalid=true] { border:2px solid var(--red); }
#draw-checker a,.lotto-faq a { color:var(--gold); text-decoration:underline; }
#check-result { font-weight:700; color:var(--text); }

#check-draw .ball { animation:none; }
.check-bonus { display:inline-flex; align-items:center; gap:6px; }
