
:root{--bg:#f7f4ee;--card:#fff;--tx:#2b2a33;--mut:#6b6877;--pri:#7b2d8e;--pri2:#e8590c;--bd:#d9d3c7;--soft:#f1e9f6;--ok:#1b7f48;--no:#c0392b;--cell:#fffdf8;--blk:#2b2a33;--clue:#3b3550;--note:#7b2d8e}
@media (prefers-color-scheme:dark){:root{--bg:#17151f;--card:#211e2b;--tx:#efeaf7;--mut:#a9a3b8;--pri:#c28ae0;--pri2:#ff9a5c;--bd:#3b3650;--soft:#2c2640;--ok:#5fd493;--no:#ff8a7d;--cell:#2a2636;--blk:#0c0b10;--clue:#3d3556;--note:#c28ae0}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:18px/1.6 "Nunito","Segoe UI",system-ui,sans-serif}
.w{max-width:860px;margin:0 auto;padding:0 16px}
header.top{background:var(--card);border-bottom:4px solid var(--pri2)}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 16px}
.brand{text-decoration:none;color:var(--tx);display:flex;align-items:center;gap:12px}
.brand .lg{width:46px;height:46px;border-radius:12px;background:var(--pri);color:#fff;display:flex;align-items:center;justify-content:center;font:800 22px Georgia,serif}
.brand b{display:block;font:800 24px/1.1 Georgia,serif;letter-spacing:.02em}.brand small{color:var(--mut);font-size:14px}
nav a{margin-left:12px;text-decoration:none;color:var(--pri);font-weight:700}
h1{font:800 clamp(26px,5vw,36px)/1.2 Georgia,serif;margin:22px 0 6px}h2{font:800 22px Georgia,serif;margin:26px 0 8px;color:var(--pri)}
.lead{color:var(--mut);margin:0 0 12px}
.card{background:var(--card);border:2px solid var(--bd);border-radius:16px;padding:14px 18px;margin:14px 0}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.tile{display:block;text-decoration:none;color:var(--tx);background:var(--card);border:2px solid var(--bd);border-radius:16px;padding:16px 18px}
.tile:hover{border-color:var(--pri)}.tile b{font:800 20px Georgia,serif;display:block}.tile span{color:var(--mut)}
.badge{display:inline-block;background:var(--soft);color:var(--pri);border-radius:999px;padding:1px 12px;font-weight:800;font-size:14px;margin-right:6px}
.btn{display:inline-block;border:2px solid var(--pri);background:var(--pri);color:#fff;border-radius:12px;padding:9px 16px;font:800 17px "Nunito",system-ui,sans-serif;cursor:pointer;text-decoration:none;min-height:46px}
.btn.sec{background:var(--card);color:var(--pri)}.btn[aria-pressed=true]{background:var(--pri2);border-color:var(--pri2);color:#fff}
.ex{border-left:6px solid var(--pri2)}.steps li{margin:6px 0}
/* tabla de joc */
.g{display:grid;grid-template-columns:repeat(var(--c),var(--cs));gap:0;margin:14px auto;width:max-content;max-width:100%;--cs:min(13vw,62px);border:3px solid var(--blk);user-select:none;-webkit-user-select:none;touch-action:manipulation}
.cell{width:var(--cs);height:var(--cs);position:relative;border:1px solid var(--bd);background:var(--cell);display:flex;align-items:center;justify-content:center;font:800 calc(var(--cs)*.55)/1 Georgia,serif;cursor:pointer}
.cell.b{background:var(--blk);border-color:var(--blk);cursor:default}
.cell.c{background:var(--clue);border-color:var(--blk);cursor:default;color:#fff;font:700 calc(var(--cs)*.28)/1 system-ui,sans-serif}
.cell.c::before{content:"";position:absolute;inset:0;background:linear-gradient(to top right,transparent calc(50% - 1px),#fff calc(50% - 1px),#fff calc(50% + 1px),transparent calc(50% + 1px));opacity:.9}
.cell.c .cr{position:absolute;right:12%;top:10%}.cell.c .cd{position:absolute;left:12%;bottom:10%}
.cell.c.nh::before{background:none}
.cell.given{background:var(--soft);color:var(--pri);cursor:default}
.cell.rel{background:var(--soft)}.cell.sel{outline:4px solid var(--pri2);outline-offset:-4px;z-index:1}
.cell.bad{background:#f8d2cd;color:#7a1a10}@media (prefers-color-scheme:dark){.cell.bad{background:#5a2420;color:#ffd6d0}}
.cell.tr{border-right:3px solid var(--blk)}.cell.tb{border-bottom:3px solid var(--blk)}
.val.sp{color:var(--mut)}
.notes{display:grid;grid-template-columns:repeat(3,1fr);width:92%;height:92%;font:700 calc(var(--cs)*.2)/1 system-ui,sans-serif;color:var(--note);text-align:center;align-items:center}
.notes.fl{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:1px 3px}
.pal{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:10px 0}
.pal button{min-width:50px;min-height:52px;border-radius:12px;border:2px solid var(--pri);background:var(--card);color:var(--pri);font:800 22px Georgia,serif;cursor:pointer}
.pal button:active{background:var(--soft)}.pal button.sp{border-color:var(--mut);color:var(--tx)}
.ctl{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:8px 0}
.msg{min-height:30px;text-align:center;font-weight:800;margin:6px 0}.msg.ok{color:var(--ok)}.msg.no{color:var(--no)}
footer{border-top:2px solid var(--bd);margin-top:40px;padding:18px 0 40px;color:var(--mut);font-size:15px;text-align:center}
.exg{--cs:46px}.exg .cell{cursor:default}
.legend{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;font-size:15px;color:var(--mut)}

.home{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px 0}.hero{max-width:560px;margin:0 auto}.lg.big{width:72px;height:72px;font-size:2.4rem;margin:0 auto 10px}.langs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px}.langbtn{border:2px solid #b9aad3;border-radius:12px;background:#fff;color:#2a1850;padding:14px 10px;font:600 1.05rem system-ui,sans-serif;cursor:pointer;min-height:56px}.langbtn:hover:not([disabled]){background:#efe8fa;border-color:#7b4fa3}.langbtn[disabled]{opacity:.45;cursor:default}.langsel{border:1.5px solid #b9aad3;border-radius:8px;padding:5px 8px;font:inherit;background:#fff;color:#2a1850;margin-left:8px}
.cell .nm{position:absolute;left:3px;top:1px;font:700 calc(var(--cs)*.26)/1 system-ui,sans-serif;color:#7b4fa3}.seg{width:78%;height:78%;display:block;margin:auto}.cell .seg{pointer-events:none}
.dlist{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 8px}.dp{border:1.5px solid #b9aad3;border-radius:7px;padding:2px 8px;font:700 .95rem system-ui,sans-serif;background:#fff;color:#2a1850}.dp.used{background:#e6dcf2;color:#9a8bb5;text-decoration:line-through}.dp.dup{background:#ffd6d6;border-color:#c0392b;color:#c0392b}.dominoes .ctl,.cauta .ctl{margin-top:8px}
.poduri .brsvg,.dominoes .brsvg,.cauta .brsvg{display:block;width:100%;max-width:430px;margin:0 auto 6px;background:#fff;border:2px solid #4a2a7a;border-radius:10px}
.poduri .ctl{margin-top:8px}
.cell.rg0{background:#ffd6d6!important;color:#14213d}.cell.rg1{background:#d6ecff!important;color:#14213d}.cell.rg2{background:#fff2b8!important;color:#14213d}.cell.rg3{background:#d8f5d0!important;color:#14213d}.cell.rg4{background:#ead9ff!important;color:#14213d}.cell.rg5{background:#ffe0c2!important;color:#14213d}.cell.rg6{background:#cdeee9!important;color:#14213d}.cell.rg7{background:#f3d1e8!important;color:#14213d}.cell.rg8{background:#e3e3e3!important;color:#14213d}.cell.bdt{border-top:3px solid #14213d}.cell.bdr{border-right:3px solid #14213d}.cell.bdb{border-bottom:3px solid #14213d}.cell.bdl{border-left:3px solid #14213d}.cell.lab.blk{background:#14213d;color:#fff;border-color:#14213d}.cell.bk{background:#14213d;border-color:#14213d;cursor:default}

.card.ex .grid2{grid-template-columns:1fr;gap:56px}.cap{margin-bottom:12px}
.cat{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:10px;margin:8px 0 18px}
.cat .tile{padding:12px 14px}.cat .tile b{font-size:18px}.cat .tile span.d{font-size:15px;display:block}
.tile.soon .d{display:none}.tile.soon b{font-size:16px}.tile.soon{padding:8px 12px!important;opacity:.55;pointer-events:none;background:transparent;border-style:dashed}
.sec{margin-top:34px;padding-top:6px;border-top:4px solid var(--pri2)}.sec>h2{font-size:26px;margin-bottom:2px}
.sub{font:800 18px Georgia,serif;color:var(--tx);margin:16px 0 4px}
.cnt{font-weight:400;color:var(--mut);font-size:15px}

.cell.e{background:transparent;border-color:transparent;cursor:default}
.g.rings{border:0}

.cell.lab{background:transparent;border-color:transparent;cursor:default;color:var(--pri);font:800 calc(var(--cs)*.42)/1 system-ui,sans-serif;text-align:center;letter-spacing:.02em}
.cell.lab span{display:block;line-height:1.05}
.cell.lab.num{background:#e6f4f1;border:1px solid var(--bd);color:#14213d;cursor:default;font-size:calc(var(--cs)*.5)}@media (prefers-color-scheme:dark){.cell.lab.num{background:#1f3a38;color:#fff}}
.cell.lab.nw{background:var(--cell);border:1px solid var(--bd);color:var(--tx);cursor:default;font-size:calc(var(--cs)*.55);font-family:Georgia,serif}
.figgrid{position:relative;width:min(100%,430px);margin:14px auto;container-type:inline-size;user-select:none}.figgrid svg.fg{position:absolute;inset:0;width:100%;height:100%}.figgrid .cell{border:0;background:transparent;font-size:calc(var(--fs,8.5)*1cqw);font-family:Georgia,serif}.grid2>div{min-width:0}.card{max-width:100%;overflow-x:hidden}.figgrid .cell.given{background:var(--soft);border-radius:8px}.figgrid .cell.sel{outline:3px solid var(--pri2);outline-offset:-3px}.figgrid .cell.rel{background:transparent}
.cell.hb{background:#2b2f3a!important;color:#fff!important}.cell.hw{background:#e8f6ee!important}.cell.hw .val{opacity:.55}.cgl{position:absolute;left:3px;top:1px;font:800 calc(var(--cs)*.24)/1 system-ui,sans-serif;color:var(--tx);pointer-events:none}
.cell.dg{background:#e4e6f3}@media (prefers-color-scheme:dark){.cell.dg{background:#363052}}
.cell.k-w{background:#dcdde3;color:var(--mut)}@media (prefers-color-scheme:dark){.cell.k-w{background:#3a3748}}
.val.sp{font-family:'Segoe UI Symbol','DejaVu Sans',system-ui,sans-serif;font-size:.8em}.cell.given .val{font-size:.95em}.cell.given .val{font-family:system-ui,sans-serif}
.exg .cell.lab,.exg .cell{cursor:default}
.plain{border:0;box-shadow:none}
.cap{text-align:center;margin:0;font-weight:800}
.sm{font-size:16px;color:var(--mut)}
.g.rings{border-color:transparent}
.g .cell.i0{border-color:var(--bd)}
