:root{--bg:#0f1226;--card:#1b1f3b;--acc:#ffb547;--ok:#3ddc97;--txt:#eef;--mut:#8a8fb8}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(circle at top,#232857,var(--bg));color:var(--txt);min-height:100vh}
header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;max-width:520px;margin:auto}
h1{margin:0;font-size:2rem;letter-spacing:1px}h1 span{color:var(--acc)}
header button{width:40px;height:40px;border-radius:50%;border:0;background:var(--card);color:var(--txt);font-size:1.1rem;cursor:pointer}
nav{display:flex;gap:8px;justify-content:center;margin:4px 0 8px}.tab{border:0;padding:8px 18px;border-radius:20px;background:var(--card);color:var(--mut);cursor:pointer;font-weight:600}.tab.active{background:var(--acc);color:#222}
main{max-width:520px;margin:auto;padding:0 16px 24px}.meta{display:flex;justify-content:space-between;color:var(--mut);font-weight:600;margin-bottom:10px}#timer{font-variant-numeric:tabular-nums;color:var(--txt)}
#board{display:grid;gap:6px;user-select:none}
.cell{aspect-ratio:1;border:0;border-radius:12px;background:var(--card);color:var(--txt);font-size:clamp(1.1rem,5vw,1.7rem);font-weight:700;cursor:pointer;transition:transform .12s,opacity .2s,background .2s;box-shadow:0 3px 0 #0007}
.cell:active{transform:scale(.93)}.cell.drop{opacity:.18;transform:scale(.85);text-decoration:line-through}.cell.keep{background:#2e3a7a;outline:2px solid var(--acc)}
.tgt{display:flex;align-items:center;justify-content:center;font-weight:800;font-size:clamp(1rem,4.5vw,1.4rem);color:var(--acc);border-radius:10px;border:2px dashed #ffb54766}.tgt.met{color:#111;background:var(--ok);border-color:var(--ok)}.tgt.over{color:#ff6b6b;border-color:#ff6b6b}
.hint{color:var(--mut);font-size:.85rem;text-align:center}.actions{text-align:center}.actions button,.card button,.paywall button{border:0;border-radius:10px;padding:10px 18px;font-weight:700;background:var(--acc);color:#222;cursor:pointer;margin:4px}
.modal{position:fixed;inset:0;background:#000a;display:flex;align-items:center;justify-content:center;padding:16px;z-index:9}.modal[hidden]{display:none}
.card{background:var(--card);border-radius:18px;padding:22px;max-width:380px;width:100%;text-align:center;box-shadow:0 10px 40px #000a}
.ex{background:#0003;padding:10px;border-radius:10px;margin:8px 0}pre{background:#0004;padding:12px;border-radius:10px;font-size:1.1rem;white-space:pre-wrap}
.paywall{background:var(--card);border-radius:18px;padding:22px;text-align:center}.price{font-size:1.4rem;font-weight:800;color:var(--acc)}small{display:block;color:var(--mut)}
.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.list button{border:0;border-radius:10px;padding:10px;background:var(--card);color:var(--txt);cursor:pointer}.list button.done{outline:2px solid var(--ok)}
.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.statgrid b{display:block;font-size:1.5rem}
@keyframes pop{50%{transform:scale(1.08)}}.won #board{animation:pop .5s}
/* v2 additions */
a{color:var(--acc)}.err{color:#ff6b6b;text-align:center;grid-column:1/-1}
.actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.actions button:disabled{opacity:.5;cursor:not-allowed}
#btnReveal{background:#2e3a7a;color:var(--txt)}
#next{color:var(--mut);text-align:center;font-size:.85rem;margin:6px 0}
#yesterday{background:var(--card);border-radius:14px;padding:12px;margin-top:14px}#yesterday h3{margin:0 0 8px;font-size:1rem}
#yGrid{display:grid;gap:3px;max-width:240px;margin:auto}.mini{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:5px;font-size:.8rem;font-weight:700;background:#0003}
.mini.k{background:#2e3a7a;outline:1px solid var(--acc)}.mini.d{opacity:.25;text-decoration:line-through}.mini.t{color:var(--acc)}
.ad-slot{margin:14px auto;min-height:90px;max-width:728px;border:1px dashed #8a8fb855;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--mut);font-size:.75rem}
.is-member .ad-slot{display:none}
.plans{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.plans button{min-width:140px}.perks{text-align:left;max-width:300px;margin:8px auto}
#toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#000d;color:#fff;padding:10px 16px;border-radius:10px;z-index:20;max-width:90vw;text-align:center}
footer{text-align:center;color:var(--mut);font-size:.8rem;padding:20px}footer a{color:var(--mut);margin:0 6px}
.ad-slot{display:none}
