:root{--bg:#0b1020;--card:#161d33;--accent:#7c4dff;--power:#ff3d57;--text:#e8ecf5;--muted:#9aa4bf}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,sans-serif}.page{max-width:760px;margin:0 auto;padding:1rem}.hero{text-align:center;padding:2rem 0}.hero h1{font-size:2.4rem;margin:0}.tagline{color:var(--muted);margin:.5rem 0}.card{background:var(--card);border-radius:14px;padding:1.25rem;margin:1rem 0}.card.highlight{outline:2px solid var(--accent)}.muted{color:var(--muted)}.ball-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.5rem 0}.ball{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:#fff;color:#111}.ball.power{background:var(--power);color:#fff}.mult{color:var(--muted);font-weight:700}.history{width:100%;border-collapse:collapse}.history td{padding:.4rem 0;border-top:1px solid #ffffff14;vertical-align:middle}.hotcold{display:flex;gap:2rem}.hotcold ul{list-style:none;padding:0}.disclaimer{color:var(--muted);font-size:.8rem}.footer{color:var(--muted);padding:2rem 0}.pattern-block{margin:1.25rem 0}.pattern-block h3{margin:0 0 .25rem}.small{font-size:.85rem}.ball.counted{flex-direction:column;height:auto;min-height:42px;padding:.25rem 0;line-height:1.1}.ball.counted small{font-weight:600;font-size:.6rem;color:#555}.ball.power.counted small{color:#ffd9df}.ball.small-ball{width:34px;height:34px;font-size:.85rem}.factbox{background:#7c4dff1a;border:1px solid var(--accent);border-radius:10px;padding:.85rem 1rem;margin:1rem 0;font-size:.95rem}.hero.compact{padding:1.25rem 0}.brandlink{color:var(--text);text-decoration:none;font-size:1.5rem;font-weight:700}.brandlink:hover{color:var(--accent)}.prose{line-height:1.6}.prose h1{margin-top:0}.prose h2{margin-top:1.5rem}.prose a{color:var(--accent)}.prose ul{padding-left:1.25rem}.prose li{margin:.3rem 0}.footer-nav{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}.footer-nav a{color:var(--muted);text-decoration:none;font-size:.85rem}.footer-nav a:hover{color:var(--accent)}