:root{--bg: #f4f8fb;--card: #ffffff;--ink: #0f2533;--muted: #5b7487;--line: #dbe6ee;--soft: #eef4f8;--t: #0ea5a4;--b: #2563eb;--ok: #059669;--bad: #dc2626;--warn: #d97706;--grad: linear-gradient(135deg, var(--t), var(--b));--shadow: 0 10px 30px -18px rgba(15, 37, 51, .28);--radius: 18px;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);color-scheme:light}[data-theme=dark]{--bg: #0b1620;--card: #102230;--ink: #e2eef5;--muted: #8aa3b5;--line: #1f3747;--soft: #132a3a;--shadow: 0 10px 30px -18px rgba(0, 0, 0, .7);color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 50% at 85% 0%,rgba(14,165,164,.16),transparent 70%),radial-gradient(50% 40% at 0% 100%,rgba(37,99,235,.12),transparent 70%)}main{max-width:1260px;margin:0 auto;padding:1.8rem 1.6rem;min-height:80vh}h1{font-size:clamp(1.6rem,3vw,2.1rem);letter-spacing:-.02em;margin:.3rem 0}h2{letter-spacing:-.01em;margin:.3rem 0}h3,h4{margin:.5rem 0}a{color:var(--b)}p{line-height:1.55}code{background:var(--soft);padding:.05rem .35rem;border-radius:6px;font-size:.85em}button{background:var(--grad);color:#fff;border:0;border-radius:12px;padding:.6rem 1.1rem;cursor:pointer;font:inherit;font-weight:600;transition:transform .12s,box-shadow .2s,opacity .2s}button:hover:not(:disabled){box-shadow:0 6px 18px -8px var(--b);transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:var(--card);color:var(--ink);border:1px solid var(--line)}button.small{padding:.32rem .7rem;font-size:.84rem;margin:.15rem;border-radius:10px}button.danger{background:var(--card);color:var(--bad);border:1px solid rgba(220,38,38,.35)}button.danger:hover:not(:disabled){background:var(--bad);color:#fff;box-shadow:0 6px 18px -8px var(--bad)}button.link{background:none;color:var(--b);padding:0 .3rem;font-weight:500}button.link:hover{box-shadow:none;text-decoration:underline}input,textarea,select{width:100%;padding:.65rem .8rem;border:1px solid var(--line);border-radius:12px;font:inherit;margin-top:.3rem;background:var(--card);color:var(--ink);transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--t);box-shadow:0 0 0 4px #0ea5a426}label{display:block;margin:.7rem 0;font-weight:500;font-size:.93rem}label.inline{display:inline-flex;gap:.45rem;align-items:center;font-weight:400}label.inline input{width:auto;margin:0;accent-color:var(--t)}label.block{display:flex;margin:.3rem 0}fieldset{border:1px solid var(--line);border-radius:14px;margin:.9rem 0;padding:.7rem 1rem}legend{font-weight:600;padding:0 .4rem}pre{white-space:pre-wrap;word-break:break-word;background:var(--soft);padding:.45rem .65rem;border-radius:10px;font-size:.8rem;margin:.3rem 0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--line);vertical-align:top;font-size:.9rem}th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.4rem;margin:.9rem 0;box-shadow:var(--shadow)}.narrow{max-width:480px;margin:1rem auto}.meta{color:var(--muted);font-size:.86rem}.pre{white-space:pre-wrap}.error{color:var(--bad)}.ok{color:var(--ok)}.warn{color:var(--warn)}.loading{text-align:center;margin-top:30vh;color:var(--muted)}.lead{color:var(--muted);max-width:720px}.eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t)}.top{display:flex;align-items:center;gap:1.5rem;padding:.8rem 1.6rem;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--card) 78%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{display:flex;align-items:center;gap:.6rem;font-weight:700}.brand i{width:32px;height:32px;border-radius:10px;background:var(--grad);display:grid;place-items:center;color:#fff;font-style:normal}.brand small{color:var(--muted);font-weight:400}.top nav{display:flex;gap:1.3rem;flex:1}.top nav a{color:var(--muted);text-decoration:none;font-size:.93rem;padding:.35rem 0}.top nav a.active{color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--t)}.who{display:flex;gap:.8rem;align-items:center;font-size:.85rem;color:var(--muted)}.ring{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--t) calc(var(--p) * 1%),var(--line) 0);transition:background .6s}.ring span{width:31px;height:31px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-size:.68rem;font-weight:700;color:var(--ink)}.theme{background:var(--soft);color:var(--ink);padding:.35rem .55rem;border-radius:10px}.account{position:relative}.account summary{cursor:pointer;list-style:none}.account form{position:absolute;right:0;top:2rem;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:.8rem;width:260px;z-index:30;box-shadow:var(--shadow)}footer{text-align:center;color:var(--muted);font-size:.8rem;padding:1.4rem}.access{min-height:100vh;display:grid;place-items:center;padding:1rem}.access .hero{text-align:center;max-width:640px}.access .hero h1{font-size:clamp(2rem,5vw,3rem)}.access .hero h1 span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.access .badge-row{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin:1rem 0 0}.access .badge-row span{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.3rem .8rem;font-size:.82rem}.privacy{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:.7rem 1rem;font-size:.87rem}.privacy ul{padding-left:1.1rem;margin:.4rem 0}.tabs,.seg{display:inline-flex;gap:3px;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:3px;margin-bottom:.9rem;flex-wrap:wrap}.tabs button,.seg button{background:none;color:var(--muted);padding:.5rem 1rem;border-radius:11px;font-weight:500}.tabs button.active,.seg button.active{background:var(--card);color:var(--ink);font-weight:600;box-shadow:0 1px 5px #00000014}.tabs button:hover,.seg button:hover{box-shadow:none;transform:none}.tabs small{color:var(--muted);font-weight:400}.steps{display:flex;align-items:center;margin:.2rem 0 1.6rem;overflow-x:auto;padding:.4rem .2rem}.step{display:flex;align-items:center;gap:.5rem;background:none;color:var(--muted);padding:0;font-weight:500;font-size:.84rem;white-space:nowrap}.step:hover:not(:disabled){box-shadow:none;transform:none;color:var(--ink)}.step i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:700;background:var(--card);border:1px solid var(--line);color:var(--muted);transition:.3s}.step.done i{background:var(--t);color:#fff;border-color:var(--t)}.step.now{color:var(--ink);font-weight:600}.step.now i{border:2px solid var(--b);color:var(--b);box-shadow:0 0 0 5px #2563eb21;animation:breathe 2.2s ease-in-out infinite}@keyframes breathe{50%{box-shadow:0 0 0 9px #2563eb0f}}.link-line{flex:1;min-width:18px;height:2px;background:var(--line);margin:0 .6rem}.link-line.done{background:var(--t)}.sala-view{animation:rise .45s ease both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.md{line-height:1.6}.md h2{font-size:1.35rem;margin-top:1.4rem}.md h3{margin-top:1.1rem}.md table{margin:.8rem 0;background:var(--card);border-radius:12px;overflow:hidden;border:1px solid var(--line)}.md blockquote{border-left:4px solid var(--t);margin:1rem 0;padding:.6rem 1rem;background:var(--soft);border-radius:0 12px 12px 0}.demo{margin:1.6rem 0}.question h4{font-size:1.05rem}.question .option{display:block;width:100%;text-align:left;margin:.45rem 0;background:var(--card);color:var(--ink);border:1px solid var(--line);font-weight:500;padding:.8rem 1rem}.question .option:hover{border-color:var(--t);box-shadow:0 6px 18px -10px var(--t)}.feedback{padding:.7rem 1rem;border-radius:12px;margin-top:.6rem;animation:rise .3s ease both}.feedback.ok{background:#0596691a}.feedback.error{background:#dc262614}.game-row{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px dashed var(--line);flex-wrap:wrap}.game-row select{width:auto;margin:0}.game .small{background:var(--soft);color:var(--ink);border:1px solid var(--line);font-weight:500}.game .small.active{background:var(--b);color:#fff;border-color:var(--b)}.game .small.right{outline:2px solid var(--ok);outline-offset:1px}.game .small.wrong{background:var(--bad);color:#fff}.finish{text-align:center;padding:1.4rem;border-radius:var(--radius);background:var(--grad);color:#fff;animation:rise .5s ease both}.chat-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.3rem}.chat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;min-height:480px;box-shadow:var(--shadow)}.toolbar{display:flex;gap:.8rem;align-items:center;padding:.8rem 1rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.toolbar .seg{margin:0}.messages{flex:1;overflow-y:auto;padding:1rem;max-height:520px}.msg{display:flex;flex-direction:column;margin:.45rem 0;animation:rise .3s ease both}.msg.user{align-items:flex-end}.msg.system{align-items:center}.bubble{max-width:85%;padding:.75rem 1rem;background:var(--soft);border:1px solid var(--line);white-space:pre-wrap;line-height:1.5;border-radius:16px 16px 16px 5px}.msg.user .bubble{background:linear-gradient(135deg,var(--b),#1d4ed8);color:#fff;border:0;border-bottom-left-radius:16px;border-bottom-right-radius:5px}.msg.system .bubble{background:none;border:0;color:var(--muted);font-size:.84rem}.dots span{display:inline-block;width:7px;height:7px;margin:0 2px;border-radius:50%;background:var(--t);animation:ping 1s infinite}.dots span:nth-child(2){animation-delay:.15s}.dots span:nth-child(3){animation-delay:.3s}@keyframes ping{50%{opacity:.25;transform:scale(.6)}}.caret:after{content:"";display:inline-block;width:7px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--t);animation:blink .9s steps(2) infinite}@keyframes blink{50%{opacity:0}}.approval{border:1px solid #fcd34d;background:#fcd34d24;border-radius:14px;padding:.9rem 1rem;margin:.6rem 0;animation:rise .35s ease both}.options{padding:0 1rem .4rem}.options .small{background:var(--soft);color:var(--ink);border:1px solid var(--line)}.composer{display:flex;gap:.6rem;padding:.8rem;border-top:1px solid var(--line)}.composer input{margin:0}.brain{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:var(--shadow);max-height:620px;overflow-y:auto}.brain.empty{color:var(--muted);display:grid;place-items:center;text-align:center}.brain-head{display:flex;justify-content:space-between;align-items:center}.brain-head h3{margin:0}.flow{position:relative;margin-top:.6rem}.flow:before{content:"";position:absolute;left:23px;top:30px;bottom:30px;width:2px;background:var(--line)}.flow.running:after{content:"";position:absolute;left:22px;top:30px;bottom:30px;width:4px;background:repeating-linear-gradient(180deg,var(--t) 0 6px,transparent 6px 16px);animation:dash 1s linear infinite;opacity:.8}@keyframes dash{to{background-position:0 16px}}.node{display:flex;gap:.9rem;align-items:flex-start;padding:.65rem 0;position:relative}.node .ico{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:1.3rem;background:var(--card);border:1px solid var(--line);z-index:1;transition:.45s;filter:grayscale(.8);opacity:.7}.node h4{margin:.1rem 0 .2rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);transition:.45s}.node .content{flex:1;min-width:0;font-size:.88rem;color:var(--muted);transition:.45s}.node.lit .ico{background:var(--grad);border-color:transparent;box-shadow:0 0 0 6px #0ea5a426;filter:none;opacity:1}.node.lit h4{color:var(--t)}.node.lit .content{color:var(--ink)}.node blockquote{margin:.35rem 0;padding:.35rem .6rem;border-left:3px solid var(--t);background:var(--soft);border-radius:0 8px 8px 0;font-size:.8rem}.node ol{margin:.2rem 0;padding-left:1.1rem}.action{margin:.35rem 0 .6rem}.action pre.result{color:var(--ok)}.tag{display:inline-block;font-size:.72rem;padding:.1rem .5rem;border-radius:999px;background:var(--soft);border:1px solid var(--line);margin-left:.35rem;font-weight:600}.tag.ok,.tag.evaluado{background:#0596691f;color:var(--ok);border-color:transparent}.tag.bad,.tag.error{background:#dc26261a;color:var(--bad);border-color:transparent}.tag.ejecutando,.tag.en_cola{background:#2563eb1f;color:var(--b);border-color:transparent}.tag.evaluacion_pendiente{background:#d977061f;color:var(--warn);border-color:transparent}.lab-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.2rem}.tool{display:grid;grid-template-columns:210px 1fr;gap:.2rem .9rem;padding:.55rem 0;border-bottom:1px dashed var(--line)}.tool .small{grid-column:2;font-size:.85rem}.attempts{list-style:none;padding:0}.attempts li{padding:.35rem 0;border-bottom:1px solid var(--line)}.report{margin-top:1rem;animation:rise .4s ease both}.report .score{background:var(--grad);color:#fff;border-radius:10px;padding:.15rem .6rem;margin-left:.5rem}.bar{height:7px;background:var(--soft);border-radius:4px;margin-top:.35rem;overflow:hidden}.bar span{display:block;height:100%;background:var(--grad);border-radius:4px;animation:grow .9s ease both}@keyframes grow{0%{width:0!important}}.scenario{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.55rem .9rem;margin:.45rem 0}.scenario summary{cursor:pointer;font-weight:500}.consigna{font-size:1.02rem;background:var(--soft);padding:.8rem 1rem;border-radius:12px;border-left:4px solid var(--b)}.foro{background:#0ea5a414;padding:.6rem .9rem;border-radius:12px}.compare{padding:.6rem .9rem;box-shadow:none}.caso summary{cursor:pointer}.grade-card{background:var(--grad);color:#fff;border:0}.grade-card .meta{color:#ffffffd9}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.rubric-row{border-bottom:1px dashed var(--line);padding:.4rem 0}.rubric-row input{width:90px;display:inline-block;margin-left:.5rem}.students{background:var(--card);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.downloads{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.downloads a{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.5rem .9rem;text-decoration:none}@media (max-width: 900px){main{padding:1rem}.chat-layout,.lab-grid,.grid2{grid-template-columns:1fr}.top nav{order:3;width:100%;overflow-x:auto}.tool{grid-template-columns:1fr}.tool .small{grid-column:1}.step span.lbl{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
