:root{--bg:#f4f8f5;--card:#fff;--text:#1f2d27;--muted:#64756c;--line:#dfe8e2;--primary:#2f8f5b;--primary-d:#226b43;--accent:#e8f5ee;--danger:#c0392b;--warn:#f5a623;--radius:14px}@media (prefers-color-scheme:dark){:root{--bg:#121a16;--card:#1b2621;--text:#e6efe9;--muted:#98aaa0;--line:#2b3a32;--accent:#20352a;--primary:#3fb274;--primary-d:#2f8f5b}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:1000px;margin:0 auto;padding:20px 16px 60px}h1{margin:0;font-size:1.7rem}h2{margin:0 0 10px;font-size:1.15rem}h3{margin:14px 0 6px}a{color:var(--primary)}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.stack{gap:16px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.wrap{align-items:end}.grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.tile{text-align:left;font:inherit;color:inherit;cursor:pointer;align-content:start;gap:6px;text-decoration:none;display:grid}.tile:hover{border-color:var(--primary)}.big{font-size:1.8rem;font-weight:700}.mini{background:var(--accent);color:var(--primary-d);border-radius:10px;gap:2px;padding:10px 12px;display:grid}.mini strong{color:var(--text);font-size:1.2rem}.callout{background:var(--accent);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.callout span{flex:1}.top{background:var(--card);border-bottom:1px solid var(--line);z-index:10;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex;position:sticky;top:0}.brand{color:var(--primary);font-weight:700}.top nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.top nav a{color:var(--text);border-radius:99px;padding:6px 12px;font-size:.95rem;text-decoration:none}.top nav a.active{background:var(--primary);color:#fff}.who{align-items:center;gap:10px;font-size:.9rem;display:flex}.field{gap:4px;margin-bottom:12px;display:grid}.field>span{font-size:.92rem;font-weight:600}input,select,textarea{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;width:100%;padding:9px 11px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--bg);color:var(--text);cursor:pointer;font:inherit;border-radius:99px;padding:6px 12px;font-size:.9rem}.chip input{opacity:0;width:0;height:0;position:absolute}.chip.on{background:var(--primary);border-color:var(--primary);color:#fff}.chip.filled:not(.on){border-color:var(--primary)}.chip:has(input:focus-visible){outline:2px solid var(--primary)}.btn{background:var(--primary);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:10px;padding:10px 18px;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{background:var(--primary-d)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{color:var(--text);border:1px solid var(--line);background:0 0}.btn.ghost:hover{background:var(--accent)}.btn.sm{padding:5px 12px;font-size:.88rem}.btn.block{width:100%}.msg{border-radius:10px;margin:8px 0;padding:9px 12px;font-size:.92rem}.msg.err{color:var(--danger);background:#fdecea}.msg.ok{background:var(--accent);color:var(--primary-d)}.switch{align-items:center;gap:8px;margin-bottom:12px;font-weight:600;display:flex}.switch input{width:auto}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tabs button{border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:8px 14px}.tabs button.on{background:var(--primary);color:#fff;border-color:var(--primary)}.auth{place-items:center;min-height:100vh;padding:16px;display:grid}.auth .card{width:100%;max-width:400px}.auth h1{text-align:center}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:7px 10px}th{color:var(--muted);font-weight:600}.dl{gap:8px;margin:0;display:grid}.dl div{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,1fr) 2fr;gap:10px;padding-bottom:6px;display:grid}.dl dt{color:var(--muted);font-size:.9rem}.dl dd{margin:0}@media (width<=600px){.dl div{grid-template-columns:1fr}}.tag{background:var(--accent);color:var(--primary-d);border-radius:99px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.tag.assigned{background:var(--warn);color:#222}.tag.badge{padding:4px 12px;font-size:.9rem}.spark{color:var(--primary);max-width:100%}.split{grid-template-columns:minmax(180px,280px) 1fr;align-items:start;gap:24px;display:grid}@media (width<=700px){.split{grid-template-columns:1fr}.bodymap{max-height:380px;margin:0 auto}}.bodymap{width:100%}.sil *{fill:var(--accent);stroke:var(--line);stroke-width:1.5px}.zone{fill:#2f8f5b2e;stroke:var(--primary);stroke-width:1px;stroke-dasharray:3 2;cursor:pointer}.zone:hover,.zone.active{fill:#2f8f5b8c;stroke-dasharray:none}.zone.done{fill:#f5a62380;stroke:var(--warn)}.guide{background:var(--accent);border-radius:10px;padding:10px 12px}.goals{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.goals li{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.goals li.done strong{color:var(--muted);text-decoration:line-through}.goals label{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.goals input{width:auto;margin-top:5px}.goals small{display:block}.article{line-height:1.7}.tip{background:var(--accent);border-left:4px solid var(--primary);border-radius:8px;margin-top:12px;padding:10px 14px}.exercises{gap:10px;margin-top:10px;display:grid}.ex{border:1px solid var(--line);border-radius:10px;grid-template-columns:96px 1fr;gap:14px;padding:10px;display:grid}.ex p{margin:2px 0 8px}.media{background:var(--accent);border-radius:10px;place-items:center;width:96px;height:96px;font-size:2rem;display:grid;overflow:hidden}.media img{object-fit:cover;width:100%;height:100%}.lvl-Principiante{background:#dff3e6}.lvl-Intermedio{color:#7a5200;background:#fff1d2}.lvl-Avanzado{color:#8a2b1d;background:#fddcd6}.banner{z-index:9;background:var(--warn);color:#222;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex;position:sticky;top:52px}.player{text-align:center}.timer{font-variant-numeric:tabular-nums;margin:8px 0;font-size:3.2rem;font-weight:700}.player .row{justify-content:center}.dots{justify-content:center;gap:6px;display:flex}.d{background:var(--line);border-radius:3px;width:28px;height:6px}.d.done{background:var(--primary)}.d.cur{background:var(--warn)}.done-box{justify-items:center;gap:8px;margin-top:12px;display:grid}.stats{grid-template-columns:repeat(3,1fr)}.stats .mini{text-align:center}.stats .big{color:var(--text)}.bars{align-items:flex-end;gap:8px;height:100px;margin:14px 0;display:flex}.bar{flex:1;align-content:end;justify-items:center;gap:2px;display:grid}.bar div{background:var(--primary);border-radius:4px 4px 0 0;width:70%;min-height:3px}.bar .n{font-size:.8rem}.qr{background:#fff;border-radius:10px;width:220px;height:220px;padding:6px}.tag.wa-connected{color:#073b1c;background:#25d366}.tag.wa-qr{background:var(--warn);color:#222}.creds{justify-content:space-between;align-items:flex-start}.creds pre{background:var(--bg);-webkit-user-select:all;user-select:all;border-radius:8px;margin:8px 0;padding:8px 12px}.acct{color:var(--text);font-weight:600;text-decoration:none}.acct.active{color:var(--primary)}html{-webkit-text-size-adjust:100%}img,svg{max-width:100%}.row.wrap .field{flex:200px;margin-bottom:0}.tabs{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.tabs button{white-space:nowrap;flex:none}.card,.field,.grid>*,.split>*{min-width:0}pre{white-space:pre-wrap;word-break:break-all}@media (width<=720px){main{padding:14px 12px 70px}h1{font-size:1.35rem}h2{font-size:1.05rem}.card{border-radius:12px;padding:14px}input,select,textarea{font-size:16px}.btn{padding:11px 16px}.btn.sm,.chip{padding:8px 12px}.top{gap:8px;padding:10px 12px 0;position:static}.brand{order:1}.who{order:2;margin-left:auto;font-size:.85rem}.who .acct{text-overflow:ellipsis;white-space:nowrap;max-width:38vw;overflow:hidden}.top nav{scrollbar-width:none;flex-wrap:nowrap;flex:0 0 100%;order:3;margin:0 -12px;padding:4px 12px 8px;overflow-x:auto}.top nav a{white-space:nowrap;flex:none;padding:8px 14px}.banner{padding:10px 12px;top:0}.row.between{align-items:flex-start}.callout{flex-direction:column;align-items:stretch}.callout .btn{text-align:center}.creds{flex-direction:column}.ex{grid-template-columns:64px 1fr;gap:10px}.media{width:64px;height:64px;font-size:1.5rem}.timer{font-size:2.6rem}.player .row{gap:6px}.player .row .btn{flex:30%;padding:10px 6px;font-size:.88rem}.big{font-size:1.5rem}.qr{width:100%;max-width:260px;height:auto;margin:0 auto;display:block}.bodymap{max-height:360px}.goals li{flex-direction:column;align-items:stretch}table.cards,table.cards tbody,table.cards tr,table.cards td{width:100%;display:block}table.cards thead{display:none}table.cards tr{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:8px 10px}table.cards td{white-space:normal;word-break:break-word;border:0;justify-content:space-between;gap:12px;padding:3px 0;display:flex}table.cards td:before{content:attr(data-label);color:var(--muted);flex:none;font-size:.8rem}table.cards td:last-child{padding-top:8px}table.cards td:last-child:before{content:none}table.cards td:last-child .btn{text-align:center;width:100%}.scroll:has(table.cards){overflow:visible}.card.scroll:has(table.cards){background:0 0;border:0;padding:10px}}@media (width<=380px){.stats{grid-template-columns:1fr}.top nav a{padding:8px 11px;font-size:.9rem}}
