*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;color:#1d2433;background:#f7f8fb;line-height:1.5}
.site-header{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e3e6ee}
.logo{font-weight:700;font-size:1.3rem;color:#0b5cd5;text-decoration:none}
nav a{margin-right:1rem;color:#1d2433;text-decoration:none}
.btn{display:inline-block;padding:.55rem 1.1rem;background:#0b5cd5;color:#fff!important;border-radius:6px;text-decoration:none}
main{max-width:1000px;margin:0 auto;padding:2rem 1.5rem}
.hero{text-align:center;padding:3rem 0}.hero h1{font-size:2.2rem;margin-bottom:.5rem}
.site-footer{text-align:center;color:#6b7385;padding:2rem;font-size:.9rem}
.card{background:#fff;border:1px solid #e3e6ee;border-radius:10px;padding:2rem}.narrow{max-width:460px;margin:0 auto}
form label{display:block;margin:0 0 1rem;font-weight:600}
form input[type=email],form input[type=password],form input[type=text]{display:block;width:100%;margin-top:.3rem;padding:.6rem;border:1px solid #c9cfdb;border-radius:6px;font:inherit}
.check{font-weight:400}button.btn{border:0;cursor:pointer;font:inherit}
.alert{background:#fdecec;color:#a31515;padding:.7rem 1rem;border-radius:6px}
.notice{background:#eaf3ff;color:#0b3d91;padding:.7rem 1rem;border-radius:6px}
dl.info dt{font-weight:600}dl.info dd{margin:0 0 1rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lotteries{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}
.lottery-card{display:block;background:#fff;border:1px solid #e3e6ee;border-radius:10px;padding:1.2rem;text-decoration:none;color:inherit}
.lottery-card:hover{border-color:#0b5cd5}
.muted{color:#6b7385;font-size:.9rem}
.numgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:.4rem;margin:.5rem 0 1rem}
.numgrid label{margin:0;font-weight:400;position:relative}
.numgrid input{position:absolute;opacity:0}
.numgrid span{display:block;text-align:center;line-height:40px;border:1px solid #c9cfdb;border-radius:50%;cursor:pointer;user-select:none}
.numgrid input:checked+span{background:#0b5cd5;color:#fff;border-color:#0b5cd5}
.numgrid.bonus input:checked+span{background:#d9480f;border-color:#d9480f}
.numgrid input:focus-visible+span{outline:2px solid #0b5cd5;outline-offset:2px}
.wheel-list label{display:flex;gap:.6rem;align-items:center;font-weight:400;padding:.6rem .2rem;border-bottom:1px solid #eef0f5;margin:0}
.wheel-list label.locked{color:#98a0b3}
.badge{font-size:.75rem;background:#fff3bf;color:#7a5c00;padding:.1rem .5rem;border-radius:10px}
table.tickets{border-collapse:collapse;width:100%;margin:1rem 0}
table.tickets th,table.tickets td{padding:.4rem .6rem;border-bottom:1px solid #eef0f5;text-align:left}
.ball{display:inline-block;min-width:2rem;text-align:center;padding:.15rem .2rem;border-radius:1rem;background:#eaf3ff;margin-right:.25rem}
.ball.bonus{background:#ffe8d9}
@media print{.site-header,.site-footer,.noprint{display:none!important}body{background:#fff}main{padding:0}.card{border:0;padding:0}}
.actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.btn-light{background:#eaf3ff;color:#0b5cd5!important}
.btn.disabled{opacity:.6;cursor:not-allowed}
.save-form{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap;margin:1rem 0}
.save-form label{flex:1;min-width:220px;margin:0}
.ball.hit{background:#2b8a3e;color:#fff}
.check-form{display:flex;gap:.8rem;flex-wrap:wrap;align-items:flex-end;margin:1rem 0}
.check-form label{margin:0}
select,input[type=date],.check-form input[type=text]{display:block;margin-top:.3rem;padding:.55rem;border:1px solid #c9cfdb;border-radius:6px;font:inherit;background:#fff}
.center{text-align:center}
.steps,.plans{display:grid;gap:1rem;margin:1rem 0 2rem}
.steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.plans{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin:1rem 0 2rem}
.step-no{display:inline-block;width:2rem;height:2rem;line-height:2rem;text-align:center;border-radius:50%;background:#0b5cd5;color:#fff;font-weight:700}
.example{margin:0 0 2rem}
.compare{display:flex;justify-content:center;align-items:center;gap:2rem;text-align:center;margin-top:1rem}
.compare .big{font-size:2.6rem;font-weight:800;color:#6b7385}.compare .accent{color:#0b5cd5}.compare .arrow{font-size:2rem;color:#98a0b3}
ul.checks{list-style:none;padding:0}ul.checks li{padding:.3rem 0 .3rem 1.6rem;position:relative}
ul.checks li:before{content:"✓";position:absolute;left:0;color:#2b8a3e;font-weight:700}
.plan{position:relative;text-align:center}
.plan.best{border:2px solid #0b5cd5}
.plan .price{font-size:2rem;font-weight:800;margin:.3rem 0}
.ribbon{position:absolute;top:-.8rem;left:50%;transform:translateX(-50%);background:#0b5cd5;color:#fff;font-size:.8rem;padding:.2rem .8rem;border-radius:1rem;white-space:nowrap}
.cur-switch a{display:inline-block;padding:.3rem .8rem;border:1px solid #c9cfdb;border-radius:1rem;text-decoration:none;color:#1d2433;margin-left:.3rem}
.cur-switch a.active{background:#0b5cd5;border-color:#0b5cd5;color:#fff}
.legal h2{font-size:1.15rem;margin-top:1.6rem}
.legal li{margin:.3rem 0}
.footer-links a{margin:0 .4rem;color:#6b7385;text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin:1rem 0 2rem}
.stat{text-align:center;padding:1.2rem}.stat .num{display:block;font-size:2rem;font-weight:800;color:#0b5cd5}
.table-wrap{overflow-x:auto}
.admin-table td{vertical-align:top;font-size:.92rem}
.admin-actions form.inline{display:inline-flex;gap:.3rem;margin:0 .3rem .3rem 0;align-items:center}
.admin-actions select{display:inline-block;margin:0;padding:.35rem}
.admin-actions .btn{padding:.35rem .7rem;font-size:.85rem}
.btn.danger{background:#fdecec;color:#a31515!important}
.tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 1.5rem}
.tabs a{padding:.4rem .9rem;border:1px solid #c9cfdb;border-radius:1rem;text-decoration:none;color:#1d2433;background:#fff}
.tabs a.active{background:#0b5cd5;border-color:#0b5cd5;color:#fff}
.latest-draw{text-align:center;margin-bottom:1.5rem}
.big-balls .ball{font-size:1.3rem;min-width:2.6rem;padding:.4rem}
.tabs.sub a{font-size:.9rem;padding:.3rem .8rem}
.stat-block{margin:1rem 0 2rem}
.ball-stat{display:inline-flex;flex-direction:column;align-items:center;margin:0 .35rem .7rem 0}
.ball-stat small{color:#6b7385;font-size:.75rem;margin-top:.15rem}
.locked{border:2px dashed #c9cfdb;text-align:center;margin:1rem 0 2rem}
.bars{display:flex;align-items:stretch;gap:2px;height:190px;min-width:900px;border-bottom:1px solid #e3e6ee;padding-top:1.8rem}
.bars.bonus{min-width:320px}
.bar-col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;position:relative;outline:none}
.bar-area{flex:1;width:100%;display:flex;align-items:flex-end}
.bar{display:block;width:100%;background:#0b5cd5;border-radius:4px 4px 0 0}
.bars.bonus .bar{background:#d9480f}
.bar-label{font-size:9px;color:#6b7385;line-height:14px;height:14px}
.bar-col:hover .bar,.bar-col:focus .bar{background:#073f94}
.bars.bonus .bar-col:hover .bar,.bars.bonus .bar-col:focus .bar{background:#9c330a}
.bar-col:hover::after,.bar-col:focus::after{content:attr(data-tip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#1d2433;color:#fff;font-size:.75rem;padding:.2rem .45rem;border-radius:4px;white-space:nowrap;z-index:3;pointer-events:none}
.hbar-row{display:grid;grid-template-columns:8.5rem 1fr 3.5rem;gap:.6rem;align-items:center;margin:.35rem 0;font-size:.9rem}
.hbar-track{background:#eef0f5;border-radius:4px;height:12px;overflow:hidden}
.hbar{display:block;height:100%;background:#0b5cd5;border-radius:4px}
.hbar-val{text-align:right;color:#1d2433}
.flag-row{display:block;margin:.35rem 0 .5rem;line-height:1}
.flags{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center;vertical-align:middle}
.flags img{width:20px;height:15px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.15);object-fit:cover}
.flag-more{font-size:.78rem;color:#5b6474;margin-left:2px;cursor:help}
.quickpick{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.2rem 0 .8rem}
.quickpick label{display:inline-flex;align-items:center;gap:.4rem;margin:0}
.quickpick input{max-width:5rem;margin:0}
.quickpick .btn{padding:.35rem .8rem;font-size:.9rem}
.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;margin-bottom:1.5rem}
.pos-grid h3{margin:.2rem 0 .5rem}
.pick-row-label{margin:.7rem 0 .25rem;font-weight:600}
.pick-modes,.pick-filters{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center}
.pick-filters label{margin:0}
.pick-filters input[type=number]{max-width:5rem;display:inline-block;margin:0 0 0 .3rem}
.pick-filters select{display:inline-block;width:auto;margin:0 0 0 .3rem}
tr.hit td{background:#eaf7ea}
.state-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.8rem;margin:1rem 0 2rem}
.state-card{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;background:#fff;border:1px solid #e3e6ee;border-radius:10px;padding:.9rem;text-decoration:none;color:inherit}
.state-card:hover{border-color:#0b5cd5}
.state-card img,.state-title img{border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.state-name{font-weight:700}
.state-title img{vertical-align:middle;margin-right:.4rem}
