/* El Número del Sueño: night-sky hero, number grids, result cards */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dream-hero{background:radial-gradient(circle at 20% 10%,#4c1d95 0,#1e1b4b 45%,#0f0c29 100%);color:#fff;border-radius:var(--radius);margin-bottom:16px;position:relative;overflow:hidden}
.dream-hero:before{content:"✦ ✧ ✦";position:absolute;top:10px;right:16px;color:rgba(246,196,69,.55);letter-spacing:8px;font-size:12px}
.dream-hero h1{color:#fff}
.dream-hero .sub{color:#c7c3ee}
.dream-search{display:flex;gap:8px;max-width:620px;margin:18px auto 10px}
.dream-search input{flex:1;font-size:18px;padding:14px 16px;border-radius:999px;border:2px solid transparent;background:#fff;color:var(--ink)}
.dream-search input:focus{outline:0;border-color:var(--gold)}
.dream-search .btn{width:auto;border-radius:999px;padding:0 22px;font-size:16px}
.dream-suggest{justify-content:center;margin-bottom:12px}
.dream-suggest .chip{background:rgba(255,255,255,.12);color:#e9e6ff;border-color:rgba(255,255,255,.25)}
.dream-suggest .chip:hover{background:rgba(255,255,255,.22)}
.dream-result{text-align:left;max-width:720px;margin:0 auto 12px}
.dream-result[hidden]{display:none}
.dream-result .muted{color:#c7c3ee}
.dream-result .tiny{color:#a9a4d8}
.dream-hit{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px}
.dream-hit.first{background:#fff;color:var(--ink);border-color:#fff}
.dream-hit.first .tiny{color:var(--muted)}
.dream-hit-title{font-weight:800;font-size:18px;text-decoration:none;color:inherit}
.dream-hit .row{margin-top:10px}
.dream-hit .btn{width:auto}
.dream-hero .share{justify-content:center}
.dream-hero .share-label{color:#c7c3ee}
.sys-row{display:grid;grid-template-columns:150px auto 1fr;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.dream-hit .sys-row{border-color:rgba(255,255,255,.12)}
.dream-hit.first .sys-row{border-color:var(--line)}
.sys-label{font-size:12px;font-weight:800;color:var(--muted)}
.dream-hit:not(.first) .sys-label{color:#c7c3ee}
.sys-list.big .ball{width:44px;height:44px;font-size:18px}
.ball{text-decoration:none}
a.ball:hover{transform:scale(1.08)}
.big-ball{width:64px;height:64px;font-size:26px}
.lucky-form{display:grid;gap:10px;margin-bottom:12px}
.lucky-form label{font-size:12px;font-weight:800;color:var(--muted);display:flex;flex-direction:column;gap:4px}
.lucky-out[hidden]{display:none}
.lucky-balls{gap:8px;margin-bottom:8px}
.lucky-balls .ball{width:46px;height:46px;font-size:18px;animation:pop .5s cubic-bezier(.3,1.6,.5,1) both}
.lucky-out .btn{width:auto}
.dream-today{font-size:22px;margin-bottom:8px}
.dream-today a{color:var(--ink);text-decoration:none}
.numgrid{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}
.numgrid[hidden]{display:none}
.numcell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 2px;text-decoration:none;color:var(--ink);min-width:0}
.numcell b{font-family:var(--mono),monospace;font-size:15px}
.numcell span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.numcell:hover{border-color:var(--accent);background:#fff}
.crumbs a{color:var(--muted)}
.related li a{font-weight:700;color:var(--ink);text-decoration:none}
.sys-block{margin-bottom:14px}
.sys-block .chip.on{background:var(--accent);border-color:var(--accent)}
.numnav .btn{width:auto}
.charada-tbl td a:not(.ball){color:var(--ink);text-decoration:none;border-bottom:1px dotted var(--muted)}
.card h2 a{color:var(--blue)}
@media(max-width:700px){.numgrid{grid-template-columns:repeat(5,1fr)}.sys-row{grid-template-columns:1fr;gap:4px}.dream-search{flex-direction:column}.dream-search .btn{padding:12px}}
