@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-latin-400-normal-CFQEN4Ue.woff2) format("woff2"),url(/assets/andika-latin-400-normal-CDApGPvA.woff) format("woff")}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-latin-700-normal-DvW8iDJd.woff2) format("woff2"),url(/assets/andika-latin-700-normal-D1aqbIvl.woff) format("woff")}:root{--paper: #f7f9fe;--sheet: #ffffff;--rule: #c8d4ef;--rule-strong: #8ea5dc;--margin: #e0573f;--ink: #1c2541;--ink-soft: #56607a;--pencil: #f6c445;--pencil-edge: #c9921b;--ok: #2b9a5e;--ok-tint: #e3f5ea;--try: #dd8526;--try-tint: #fdf0e0;--blue: #3559c7;--blue-tint: #e8eefc;--guide: #dfe6f6;--font-read: "Andika", "Andika New Basic", system-ui, sans-serif;--font-ui: "Andika", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius: 18px;--tap: 76px;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:18px;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}button{font:inherit;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.app{min-height:100%;display:flex;flex-direction:column;padding-inline:16px;padding-block:12px 16px;background:linear-gradient(to right,transparent 0 38px,var(--margin) 38px 40px,transparent 40px) no-repeat,var(--paper)}.app.ruled{background:linear-gradient(to right,transparent 0 38px,var(--margin) 38px 40px,transparent 40px) no-repeat,repeating-linear-gradient(to bottom,transparent 0 39px,var(--guide) 39px 40px),var(--paper)}.screen{flex:1;display:flex;flex-direction:column;gap:20px;max-width:1100px;width:100%;margin-inline:auto;padding-left:28px}.btn{min-height:56px;padding-inline:22px;border-radius:14px;border:2px solid var(--rule-strong);background:var(--sheet);font-size:20px;cursor:pointer;touch-action:manipulation;box-shadow:0 3px 0 var(--rule-strong);transition:transform 80ms ease-out,box-shadow 80ms ease-out}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--rule-strong)}.btn:disabled{box-shadow:none;opacity:.55;cursor:default}.btn-primary{background:var(--pencil);border-color:var(--pencil-edge);font-weight:700;box-shadow:0 3px 0 var(--pencil-edge)}.btn-primary:active{box-shadow:0 1px 0 var(--pencil-edge);transform:translateY(2px)}.btn-big{min-height:96px;font-size:32px;padding-inline:40px;border-radius:22px}.btn-quiet{border-color:transparent;background:transparent;color:var(--ink-soft);font-size:16px;min-height:44px;box-shadow:none}.btn-quiet:active:not(:disabled){box-shadow:none;transform:none}.btn-ok{background:var(--ok);border-color:var(--ok);color:#fff;font-weight:700;box-shadow:0 3px #1d6b40}.btn-danger{border-color:var(--margin);color:#a3311f;box-shadow:0 3px 0 var(--margin)}.btn-danger:active:not(:disabled){box-shadow:0 1px 0 var(--margin)}.btn-no{background:var(--sheet);border-color:var(--try);color:var(--ink)}.icon-btn{width:var(--tap);height:var(--tap);border-radius:50%;border:2px solid var(--rule-strong);background:var(--sheet);font-size:32px;display:inline-grid;place-items:center;cursor:pointer;flex:none;box-shadow:0 4px 0 var(--rule-strong);transition:transform 80ms ease-out,box-shadow 80ms ease-out}.icon-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--rule-strong)}.topbar{display:flex;align-items:center;gap:12px;min-height:64px}.progress{flex:1;display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.progress span{width:12px;height:12px;border-radius:50%;background:var(--rule)}.progress span.done{background:var(--blue)}.progress span.now{background:var(--pencil);outline:2px solid var(--pencil-edge)}.word{font-family:var(--font-read);font-size:clamp(56px,11vw,120px);line-height:1.1;text-align:center;letter-spacing:.02em;min-height:1.3em;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.25em;overflow-wrap:anywhere}.word .syl{border:none;background:var(--blue-tint);border-radius:14px;padding:0 .18em;font:inherit;cursor:pointer}.word .syl.lit{background:var(--pencil)}.word .gap{width:.4em}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.choices.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 560px){.choices.four{grid-template-columns:repeat(2,minmax(0,1fr))}}.card{background:var(--sheet);border:3px solid var(--rule);border-radius:var(--radius);min-height:150px;display:grid;place-items:center;font-size:clamp(64px,11vw,104px);cursor:pointer;touch-action:manipulation;box-shadow:0 4px 0 var(--rule);transition:border-color .12s,background .12s,transform 80ms ease-out,box-shadow 80ms ease-out}.card:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--rule)}.card.text{font-family:var(--font-read);font-size:clamp(44px,8vw,80px)}.card.ok{border-color:var(--ok);background:var(--ok-tint);box-shadow:0 4px 0 var(--ok)}.card.no{border-color:var(--try);background:var(--try-tint);opacity:.6;box-shadow:none}.card.hint{border-color:var(--pencil-edge);box-shadow:0 0 0 4px var(--pencil)}.card:disabled{cursor:default}.picture{font-size:clamp(72px,14vw,128px);text-align:center;line-height:1}.slots{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.slot{min-width:96px;height:96px;padding-inline:10px;border:3px dashed var(--rule-strong);border-radius:16px;background:var(--sheet);font-family:var(--font-read);font-size:54px;display:grid;place-items:center;cursor:pointer}.slot.filled{border-style:solid;border-color:var(--pencil-edge);background:#fff8e3}.slot.ok{border-color:var(--ok);background:var(--ok-tint)}.slot.no{border-color:var(--try);background:var(--try-tint)}.tiles{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.tile{min-width:92px;height:92px;padding-inline:14px;border-radius:16px;border:2px solid var(--pencil-edge);background:var(--pencil);box-shadow:0 4px 0 var(--pencil-edge);font-family:var(--font-read);font-size:52px;cursor:pointer;touch-action:manipulation}.tile:disabled{visibility:hidden}.pads{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.pad{background:var(--sheet);border:2px solid var(--rule);border-radius:var(--radius);touch-action:none;display:block;max-width:100%}.pad-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.adult-hint{font-size:15px;color:var(--ink-soft);border-top:1px dashed var(--rule-strong);padding-top:8px;text-align:center}.adult{font-size:16px;color:var(--ink-soft)}h1,h2,h3{margin:0;text-wrap:balance}h1{font-size:34px}h2{font-size:26px}h3{font-size:20px}p{margin:0;line-height:1.45;max-width:65ch}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;flex:1}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.spacer{flex:1}.profiles{display:flex;gap:28px;flex-wrap:wrap;justify-content:center}.profile-btn{border:none;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:26px;font-weight:700}.avatar{width:140px;height:140px;border-radius:50%;background:var(--sheet);border:4px solid var(--rule-strong);display:grid;place-items:center;font-size:76px}.avatar-pick{display:flex;gap:10px;flex-wrap:wrap}.avatar-pick button{width:64px;height:64px;border-radius:50%;border:3px solid var(--rule);background:var(--sheet);font-size:34px;cursor:pointer;box-shadow:0 3px 0 var(--rule)}.profile-btn .avatar{box-shadow:0 5px 0 var(--rule-strong);transition:transform 80ms ease-out,box-shadow 80ms ease-out}.profile-btn:active .avatar{transform:translateY(3px);box-shadow:0 2px 0 var(--rule-strong)}.avatar-pick button[aria-pressed=true]{border-color:var(--blue);background:var(--blue-tint)}.book{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.book button{background:var(--sheet);border:2px solid var(--rule);border-radius:16px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;box-shadow:0 3px 0 var(--rule)}.book .e{font-size:44px}.book .t{font-family:var(--font-read);font-size:30px}.intro-letter{font-family:var(--font-read);font-size:clamp(120px,24vw,220px);line-height:1}.chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.chip{font-family:var(--font-read);font-size:44px;border-radius:14px;border:2px solid var(--rule-strong);background:var(--sheet);padding:4px 18px;cursor:pointer;box-shadow:0 3px 0 var(--rule-strong)}.chip:active,.book button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--rule-strong)}.panel{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px}.panel h1,.panel h2,.panel h3{font-family:var(--font-ui)}.tabs{display:flex;gap:2px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;box-shadow:inset 0 -2px 0 var(--rule);padding-inline-end:24px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 24px),transparent)}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:none;white-space:nowrap;min-height:48px;border:none;background:none;padding:12px 16px;font-size:17px;cursor:pointer;border-bottom:3px solid transparent}@media (max-width: 480px){.tabs button{padding-inline:11px;font-size:16px}}.tabs button[aria-selected=true]{border-bottom-color:var(--blue);font-weight:700;color:var(--blue)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--rule);vertical-align:top}th{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}.pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}.pill.dominada{background:var(--ok-tint);color:#1d6b40}.pill.practica{background:#fff3cc;color:#7a5600}.pill.nueva{background:var(--blue-tint);color:var(--blue)}.pill.bloqueada{background:#eef0f4;color:var(--ink-soft)}.box{background:var(--sheet);border:1px solid var(--rule);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:600}.field input,.field select,textarea{font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--rule-strong);background:#fff;color:var(--ink);max-width:100%}textarea{width:100%;min-height:120px;font-family:ui-monospace,monospace;font-size:12px}.note{font-size:14px;color:var(--ink-soft)}.warn{background:var(--try-tint);border:1px solid var(--try);border-radius:10px;padding:10px 12px;font-size:15px}.bars{display:flex;align-items:flex-end;gap:8px;height:90px}.bars div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%;font-size:12px;color:var(--ink-soft)}.bars i{display:block;width:100%;max-width:34px;background:var(--blue);border-radius:6px 6px 0 0}.shake{animation:shake .3s}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}@media (prefers-reduced-motion: reduce){.shake{animation:none}*{transition:none!important}}.cuenta-alert{margin:0;padding:8px 12px;border-radius:8px;border-left:4px solid var(--margin);background:var(--try-tint);color:var(--ink);font-size:15px}.cuenta-check{gap:10px;min-height:44px}.cuenta-check input{width:22px;height:22px;flex:none}.cuenta-check a{color:var(--blue)}.cuenta-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.cuenta-list li{min-height:44px;overflow-wrap:anywhere}.cuenta-danger{border-color:var(--margin);background:var(--try-tint)}.cuenta-danger p{margin:0}.stage{flex:1;display:flex;flex-direction:column;padding-bottom:4vh}.stage>*{margin-block:auto}.stage>.screen{flex:0 0 auto;position:relative}.sello{position:absolute;top:-10px;right:4px;z-index:2;pointer-events:none;padding:4px 16px;border:5px double var(--blue);border-radius:12px;background:#ffffffe6;color:var(--blue);font-family:var(--font-read);font-weight:700;font-size:clamp(24px,3.4vw,34px);transform:rotate(-8deg);animation:sello .26s cubic-bezier(.2,.9,.3,1.25) both}@keyframes sello{0%{opacity:0;transform:rotate(-8deg) scale(1.7)}to{opacity:1;transform:rotate(-8deg) scale(1)}}.sync-line{display:flex;align-items:center;gap:8px}.sync-dot{width:12px;height:12px;border-radius:50%;flex:none;background:#8b93a7}.sync-dot.ok{background:var(--ok)}.sync-dot.wait{background:var(--try)}.sync-dot.bad{background:var(--margin)}@media (prefers-reduced-motion: reduce){.sello{animation:none}}
