:root{
  --bg:#fff8ec;--surface:#ffffff;--ink:#1d1b26;--muted:#5d5a6b;--line:#ece3d2;
  --brand:#ff5a36;--brand-ink:#fff;--accent:#6c4cff;--ok:#1a9b5b;--warn:#e0a400;--miss:#8a8797;
  --radius:18px;--shadow:0 6px 0 rgba(29,27,38,.12);
}
@media (prefers-color-scheme:dark){:root{
  --bg:#16141d;--surface:#211e2b;--ink:#f4f1fb;--muted:#aaa6b8;--line:#332f40;
  --brand:#ff6a48;--accent:#9a85ff;--shadow:0 6px 0 rgba(0,0,0,.35);
}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 "Nunito",system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--accent)}
img{max-width:100%}
.wrap{max-width:820px;margin:0 auto;padding:0 16px}
header.top{border-bottom:2px solid var(--line);background:var(--surface)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;flex-wrap:wrap}
.logo{font-weight:900;font-size:1.25rem;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.logo span{color:var(--brand)}
nav.main{display:flex;gap:14px;flex-wrap:wrap;font-weight:700;font-size:.95rem}
nav.main a{color:var(--muted);text-decoration:none}
nav.main a:hover{color:var(--brand)}
main{padding:28px 0 40px}
h1{font-size:clamp(1.9rem,6vw,2.8rem);line-height:1.1;margin:.2em 0 .4em;letter-spacing:-.02em;font-weight:900}
h2{font-size:1.45rem;margin:1.8em 0 .5em;line-height:1.2;font-weight:900}
h3{font-size:1.15rem;margin:1.3em 0 .3em}
.lead{font-size:1.15rem;color:var(--muted)}
.card{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
ol.big,ul.big{padding-left:1.3em}
ol.big li,ul.big li{margin:.55em 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:14px 26px;font:inherit;font-weight:900;cursor:pointer;text-decoration:none;background:var(--brand);color:var(--brand-ink);box-shadow:0 5px 0 #c23a1c;transition:transform .08s}
.btn:active{transform:translateY(4px);box-shadow:0 1px 0 #c23a1c}
.btn.ghost{background:var(--surface);color:var(--ink);border:2px solid var(--line);box-shadow:none}
.btn.wa{background:#25d366;color:#fff;box-shadow:0 5px 0 #149148}
/* home */
.hero{text-align:center;padding:10px 0 0}
.big-btn{font-size:clamp(1.4rem,6vw,2rem);padding:26px 44px;margin:18px 0}
.cats{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:6px 0 14px}
.chip{border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 14px;font:inherit;font-size:.92rem;font-weight:700;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
#idea{min-height:170px;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:1.3rem;font-weight:800;margin:10px auto;max-width:640px}
#idea .tag{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);font-weight:900;margin-bottom:8px}
#idea .extra{font-size:1rem;font-weight:600;color:var(--muted);margin-top:10px}
.share-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:12px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:18px 0}
.grid a.card{text-decoration:none;color:var(--ink);display:block}
.grid a.card b{display:block;font-size:1.08rem;margin-bottom:4px}
.grid a.card small{color:var(--muted)}
.grid a.card:hover{border-color:var(--brand)}
.emoji{font-size:1.8rem;display:block;margin-bottom:6px}
/* ads */
.ad{margin:26px auto;min-height:100px;text-align:center}
.ad::before{content:"Publicidad";display:block;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}
/* faq */
details{border:2px solid var(--line);border-radius:14px;padding:12px 16px;margin:10px 0;background:var(--surface)}
details summary{font-weight:800;cursor:pointer}
.breadcrumb{font-size:.88rem;color:var(--muted)}
.breadcrumb a{color:var(--muted)}
.toc{font-size:.95rem}
.related{margin-top:40px}
footer{border-top:2px solid var(--line);padding:26px 0 40px;color:var(--muted);font-size:.9rem;background:var(--surface)}
footer a{color:var(--muted);margin-right:14px}
.affiliate{border-left:5px solid var(--warn);padding:12px 16px;background:var(--surface);border-radius:10px;margin:18px 0}
.note{font-size:.85rem;color:var(--muted)}
/* juego */
.board{display:grid;grid-template-rows:repeat(6,1fr);gap:6px;max-width:330px;margin:18px auto}
.row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.tile{aspect-ratio:1;border:2px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:900;text-transform:uppercase;background:var(--surface)}
.tile.filled{border-color:var(--muted)}
.tile.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.tile.near{background:var(--warn);border-color:var(--warn);color:#fff}
.tile.miss{background:var(--miss);border-color:var(--miss);color:#fff}
.kb{max-width:520px;margin:10px auto;user-select:none}
.kb .r{display:flex;gap:5px;justify-content:center;margin:5px 0}
.kb button{flex:1;min-width:0;height:52px;border:0;border-radius:8px;background:var(--line);color:var(--ink);font:inherit;font-weight:900;font-size:1rem;cursor:pointer;padding:0}
.kb button.wide{flex:1.6;font-size:.8rem}
.kb button.ok{background:var(--ok);color:#fff}.kb button.near{background:var(--warn);color:#fff}.kb button.miss{background:var(--miss);color:#fff}
#msg{text-align:center;min-height:1.6em;font-weight:800}
.center{text-align:center}
