*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;background:linear-gradient(160deg,#fff0f6,#eef4ff);color:#3a2e4d;min-height:100vh}
a{color:inherit;text-decoration:none}
.wrap{max-width:720px;margin:0 auto;padding:16px 14px 80px}
header.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
header.top h1{font-size:1.5rem}
.card{background:#fff;border-radius:22px;padding:16px;box-shadow:0 6px 18px rgba(120,80,160,.12);margin-bottom:14px}
.lvl{display:flex;align-items:center;gap:12px}
.badge{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#ff8fab,#b8a1ff);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.4rem;flex:none}
.bar{height:14px;background:#f1e8fb;border-radius:9px;overflow:hidden;margin-top:6px}
.bar>i{display:block;height:100%;background:linear-gradient(90deg,#ff8fab,#b8a1ff);border-radius:9px;transition:width .6s}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;margin-top:12px}
.stats b{display:block;font-size:1.3rem}
.stats small{opacity:.7}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:560px){.grid{grid-template-columns:repeat(3,1fr)}}
.subj{border-radius:20px;padding:14px;min-height:96px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 4px 12px rgba(0,0,0,.06);transition:transform .15s}
.subj:active{transform:scale(.97)}
.subj .e{font-size:1.8rem}.subj .n{font-weight:700}
.subj small{opacity:.7}
.btn{display:inline-block;border:0;border-radius:16px;padding:12px 18px;font-weight:700;font-size:1rem;background:#b8a1ff;color:#fff;cursor:pointer}
.btn.alt{background:#ff8fab}.btn.ghost{background:#f1e8fb;color:#3a2e4d}
.btn:disabled{opacity:.45}
.chest{font-size:2.6rem;cursor:pointer;animation:wob 1.6s infinite}
@keyframes wob{0%,100%{transform:rotate(0)}10%{transform:rotate(-8deg)}20%{transform:rotate(8deg)}30%{transform:rotate(0)}}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{background:#f6f0ff;border-radius:12px;padding:6px 10px;font-size:.9rem}
.chip.locked{opacity:.35;filter:grayscale(1)}
.act{display:flex;justify-content:space-between;align-items:center;gap:10px}
.opt{display:block;width:100%;text-align:left;border:2px solid #eadff7;background:#fff;border-radius:14px;padding:12px;margin:6px 0;font-size:1rem;cursor:pointer}
.opt.ok{border-color:#52b788;background:#e9f9ef}.opt.bad{border-color:#ff6b6b;background:#ffecec}
input.txt{width:100%;padding:12px;border-radius:14px;border:2px solid #eadff7;font-size:1rem}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#3a2e4d;color:#fff;padding:12px 18px;border-radius:16px;box-shadow:0 6px 20px rgba(0,0,0,.2);z-index:9;max-width:90%;text-align:center}
.modal{position:fixed;inset:0;background:rgba(40,20,60,.5);display:grid;place-items:center;z-index:8;padding:20px}
.modal .card{max-width:340px;text-align:center}
.big{font-size:3.5rem}
.muted{opacity:.7;font-size:.9rem}
h2{font-size:1.15rem;margin-bottom:8px}
body.theme-noche{background:linear-gradient(160deg,#1d1631,#2a2150);color:#f3eaff}
body.theme-noche .card,body.theme-noche .opt{background:#2f2652;color:#f3eaff}
body.theme-menta{background:linear-gradient(160deg,#e8fff4,#e6f7ff)}
body.theme-atardecer{background:linear-gradient(160deg,#ffe5d9,#ffcad4)}
.dots{display:flex;gap:14px;justify-content:center;margin:14px 0 4px}
.dots i{width:16px;height:16px;border-radius:50%;border:2px solid #b8a1ff;display:block}
.dots i.on{background:linear-gradient(135deg,#ff8fab,#b8a1ff);border-color:transparent}
.pad{display:grid;grid-template-columns:repeat(3,64px);gap:10px;justify-content:center;margin-top:8px}
.key{height:64px;border-radius:50%;border:0;background:#f6f0ff;font-size:1.4rem;font-weight:700;color:#3a2e4d;cursor:pointer}
.key:active{background:#e3d6ff}
.shake{animation:sh .4s}@keyframes sh{25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
