/* === lotto.css — Lottastar shared styles === */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --void:#0B0A18;--void2:#121031;--panel:#16133a;--gold:#F5C451;--gold2:#FFE39A;
  --violet:#8B7BFF;--magenta:#C77BFF;--green:#54E39B;--red:#FF6B7E;
  --star:#ECE9FF;--fog:#9A93C2;--fog2:#C3BEE6;--line:rgba(236,233,255,.10);--line2:rgba(236,233,255,.18);
  --glow-g:rgba(245,196,81,.30);
  --f-d:'Clash Display',sans-serif;--f-b:'General Sans',sans-serif;--f-m:'JetBrains Mono',monospace;
  --pad:clamp(1.1rem,4vw,3.5rem);--ease:cubic-bezier(.22,1,.36,1);
}
html{scroll-behavior:smooth}
body{background:var(--void);color:var(--star);font-family:var(--f-b);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:
  radial-gradient(1.4px 1.4px at 12% 18%,rgba(236,233,255,.7),transparent),
  radial-gradient(1.3px 1.3px at 80% 12%,rgba(245,196,81,.6),transparent),
  radial-gradient(1.5px 1.5px at 64% 56%,rgba(139,123,255,.6),transparent),
  radial-gradient(1.2px 1.2px at 30% 74%,rgba(236,233,255,.5),transparent),
  radial-gradient(40% 50% at 22% 12%,rgba(139,123,255,.16),transparent 70%),
  radial-gradient(44% 52% at 84% 80%,rgba(245,196,81,.10),transparent 72%);
  background-attachment:fixed}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:1080px;margin-inline:auto;padding-inline:var(--pad);position:relative;z-index:1}
.mono{font-family:var(--f-m)} .gold{color:var(--gold)} .fog{color:var(--fog)}
h1,h2,h3{font-family:var(--f-d);font-weight:600;letter-spacing:-.02em;line-height:1.05}
.eyebrow{font-family:var(--f-m);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:.9rem var(--pad);background:rgba(11,10,24,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--f-d);font-weight:700;font-size:1.15rem}
.games{display:flex;gap:.4rem}
.games a{font-family:var(--f-m);font-size:.78rem;color:var(--fog2);padding:.35rem .7rem;border-radius:8px;border:1px solid transparent}
.games a:hover{color:var(--star)} .games a.on{color:var(--void);background:var(--gold);font-weight:700}
.head{padding-block:clamp(2rem,5vh,3.4rem)}
.head h1{font-size:clamp(2.4rem,7vw,4rem)}
.head .sub{color:var(--fog2);margin-top:.6rem;max-width:60ch}
.twobadge{display:inline-flex;gap:.5rem;margin-top:1rem;font-family:var(--f-m);font-size:.72rem}
.twobadge span{border:1px solid var(--line2);border-radius:20px;padding:.3rem .8rem;color:var(--fog2)}
.card{background:linear-gradient(180deg,rgba(22,19,58,.6),rgba(18,16,49,.35));border:1px solid var(--line);border-radius:18px;padding:clamp(1.2rem,3vw,1.8rem)}
.sec-label{font-family:var(--f-m);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.sec-label::before{content:"//";color:var(--violet)}
.builder{display:grid;grid-template-columns:1.1fr .9fr;gap:1.1rem;margin-top:1.4rem}
.types{display:flex;flex-direction:column;gap:.6rem}
.type{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;background:rgba(8,7,20,.4);cursor:pointer;transition:border-color .25s,background .25s}
.type:hover{border-color:var(--line2)}
.type.sel{border-color:var(--gold);background:rgba(245,196,81,.07)}
.type .nm{font-family:var(--f-d);font-weight:600;font-size:1rem}
.type .px{font-family:var(--f-m);font-size:.78rem;color:var(--fog)}
.type .dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--fog);flex-shrink:0}
.type.sel .dot{border-color:var(--gold);background:radial-gradient(circle,var(--gold) 40%,transparent 45%)}
.explain{display:flex;flex-direction:column}
.explain h3{font-size:1.35rem;color:var(--gold)}
.explain .how{color:var(--fog2);margin-top:.5rem;font-size:.95rem}
.stats-row{display:flex;gap:1.2rem;margin-top:auto;padding-top:1.2rem;border-top:1px solid var(--line)}
.stats-row .s .n{font-family:var(--f-d);font-weight:600;font-size:1.5rem}
.stats-row .s .l{font-family:var(--f-m);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fog)}
.toggle{display:inline-flex;background:rgba(8,7,20,.5);border:1px solid var(--line);border-radius:10px;padding:3px}
.toggle button{font-family:var(--f-m);font-size:.78rem;color:var(--fog2);background:none;border:none;padding:.45rem .9rem;border-radius:7px;cursor:pointer;transition:all .2s}
.toggle button.on{background:var(--gold);color:var(--void);font-weight:700}
.ctrls{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;margin:1.6rem 0 .4rem}
.ctrls .lab{font-family:var(--f-m);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fog);margin-bottom:.4rem}
.playbar{font-family:var(--f-m);font-size:.9rem;color:var(--fog2);margin:1.2rem 0}
.playbar b{color:var(--gold)}
.sets{display:flex;flex-wrap:wrap;gap:.8rem}
.set{position:relative;display:flex;gap:.4rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:12px;background:rgba(8,7,20,.4)}
.set.top{border-color:var(--gold);background:rgba(245,196,81,.08);box-shadow:0 0 24px -8px var(--glow-g)}
.set .d{width:42px;height:48px;border-radius:8px;display:grid;place-items:center;font-family:var(--f-d);font-weight:600;font-size:1.5rem;color:#241a02;background:radial-gradient(circle at 35% 30%,var(--gold2),var(--gold))}
.set .tag{position:absolute;top:-9px;left:10px;font-family:var(--f-m);font-size:.6rem;letter-spacing:.1em;background:var(--gold);color:var(--void);padding:1px 7px;border-radius:10px;font-weight:700}
.hits{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem}
.hit{background:rgba(8,7,20,.45);border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.3rem}
.hit .big{font-family:var(--f-d);font-weight:600;font-size:2.4rem;line-height:1}
.hit .big small{font-size:1.1rem;color:var(--fog)}
.hit .l{font-family:var(--f-m);font-size:.72rem;color:var(--fog2);margin-top:.4rem;line-height:1.4}
.bar{height:6px;border-radius:6px;background:rgba(236,233,255,.08);margin-top:.7rem;overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--magenta))}
.scoreboard-meta{font-family:var(--f-m);font-size:.75rem;color:var(--fog);margin-top:.6rem}
.scoreboard-meta b{color:var(--fog2)}
.tracking-note{font-family:var(--f-m);font-size:.72rem;color:var(--fog);margin-top:.4rem;font-style:italic}
.building-note{font-family:var(--f-m);font-size:.8rem;color:var(--fog2);padding:.8rem 1rem;border:1px solid var(--line);border-radius:10px;background:rgba(8,7,20,.3);margin-top:.8rem}
table{width:100%;border-collapse:collapse;margin-top:1.2rem;font-size:.9rem}
th,td{text-align:left;padding:.65rem .6rem;border-bottom:1px solid var(--line)}
th{font-family:var(--f-m);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fog)}
td .num{font-family:var(--f-m);font-weight:700;letter-spacing:.12em}
.res{font-family:var(--f-m);font-size:.74rem;padding:.18rem .55rem;border-radius:20px}
.res.hit{color:var(--green);background:rgba(84,227,155,.1);border:1px solid rgba(84,227,155,.3)}
.res.part{color:var(--gold);background:rgba(245,196,81,.1);border:1px solid rgba(245,196,81,.3)}
.res.miss{color:var(--fog);background:rgba(236,233,255,.05);border:1px solid var(--line)}
.disc{margin-top:2rem;border:1px solid rgba(245,196,81,.2);background:rgba(245,196,81,.04);border-radius:14px;padding:1.2rem 1.4rem;display:flex;gap:.9rem;align-items:flex-start}
.disc .mono{font-size:.78rem;color:var(--fog2);line-height:1.6}
.section{padding-block:clamp(1.4rem,4vh,2.4rem)}
.footer{border-top:1px solid var(--line);margin-top:2.5rem;padding-block:2rem;font-family:var(--f-m);font-size:.72rem;color:var(--fog);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.loading{font-family:var(--f-m);font-size:.85rem;color:var(--fog);padding:2rem 0;text-align:center}
.error-msg{font-family:var(--f-m);font-size:.82rem;color:var(--red);padding:1rem;border:1px solid rgba(255,107,126,.2);border-radius:10px;background:rgba(255,107,126,.05)}
@media(max-width:760px){.builder{grid-template-columns:1fr}.hits{grid-template-columns:1fr}.games a{padding:.3rem .5rem;font-size:.72rem}}
