.app{--a-bg:#f7f7f5;--a-side:#ececea;--a-plate:#ffffff;--a-ink:#1e1e1e;--a-ink-2:#5a5a58;--a-line:#dedede;--a-hover:#e2e2e0;--a-accent:#2f6fa3;--a-accent-ink:#245a86;--a-accent-soft:#e4edf5;--a-user:#1e1e1e;--a-user-ink:#ffffff;--a-claude:#f0f0ee;--a-ok:#23603a;--a-ok-soft:#dcefe3;--a-warn-soft:#f9e3d6;--a-warn-ink:#8a4a2b;display:flex;height:100dvh;background:var(--a-bg);color:var(--a-ink);font-size:1rem;line-height:1.5;overflow:hidden}.app[data-letra=grande]{font-size:1.15rem}.app[data-tema=oscuro]{--a-bg:#1d1d1b;--a-side:#161615;--a-plate:#262624;--a-ink:#ededea;--a-ink-2:#a9a9a4;--a-line:#3a3a37;--a-hover:#2f2f2c;--a-accent:#6ea3d6;--a-accent-ink:#9cc3e6;--a-accent-soft:#24384a;--a-user:#3b5a78;--a-user-ink:#fff;--a-claude:#2c2c2a;--a-ok:#9ed3b0;--a-ok-soft:#22392b;--a-warn-soft:#3d2c22;--a-warn-ink:#e9b99e;color-scheme:dark}.app ::selection{background:var(--a-accent);color:#fff}.app :focus-visible{outline:2px solid var(--a-accent);outline-offset:2px;border-radius:6px}.app button,.app input,.app select,.app textarea{font:inherit}.app .brand,.app input,.app select,.app textarea{color:var(--a-ink)}.app .brand{font-size:1.25rem}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:0;border-radius:.6rem;background:transparent;color:var(--a-ink-2);cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease)}.icon-btn:hover{background:var(--a-hover);color:var(--a-ink)}.icon-btn.is-on{background:var(--a-accent-soft);color:var(--a-accent-ink)}.btn-app{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.1rem;border:0;border-radius:var(--pill);background:var(--a-ink);color:var(--a-bg);font-weight:500;font-size:.95em;cursor:pointer;transition:transform .2s var(--ease),opacity .2s var(--ease),box-shadow .2s var(--ease)}.app[data-tema=oscuro] .btn-app{background:#ededea;color:#1d1d1b}.btn-app:hover{transform:translateY(-1px);box-shadow:0 8px 20px -12px rgba(0,0,0,.5)}.btn-app:disabled{opacity:.35;cursor:default;transform:none;box-shadow:none}.app[data-tema=oscuro] .btn-app-light,.btn-app-light{background:var(--a-accent-soft);color:var(--a-accent-ink)}.link-btn{display:inline-flex;align-items:center;gap:.4rem;background:none;border:0;padding:0;color:var(--a-ink-2);cursor:pointer;font-size:.9em;text-decoration:underline;text-underline-offset:.2em}.link-btn:hover{color:var(--a-ink)}.side{width:17rem;flex:none;display:flex;flex-direction:column;background:var(--a-side);border-right:1px solid var(--a-line);padding:.9rem .75rem;gap:.25rem;overflow-y:auto;scrollbar-width:thin}.side-top{display:flex;align-items:center;justify-content:space-between;padding:.25rem .5rem .75rem}.side-close{display:none}.side-new{display:flex;align-items:center;gap:.5rem;width:100%;padding:.65rem .8rem;border:1px solid var(--a-line);border-radius:.7rem;background:var(--a-plate);cursor:pointer;font-weight:500;font-size:.95em;text-align:left;transition:background-color .2s var(--ease)}.side-new:hover{background:var(--a-hover)}.side-sec{display:flex;justify-content:space-between;margin:1.1rem .5rem .35rem;font-size:.72em;text-transform:uppercase;letter-spacing:.08em;color:var(--a-ink-2)}.side-list{display:flex;flex-direction:column;gap:.1rem}.side-grow{flex:1 1}.side-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .55rem;border-radius:.6rem;font-size:.93em;color:var(--a-ink);transition:background-color .15s var(--ease)}.side-item:hover{background:var(--a-hover)}.side-item.is-on{background:var(--a-plate);box-shadow:0 1px 0 rgba(0,0,0,.04)}.side-item i{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--a-plate);border:1px solid var(--a-line);font-style:normal;font-size:.72em;color:var(--a-ink-2)}.side-item.is-on i{background:var(--a-ink);color:var(--a-bg);border-color:var(--a-ink)}.side-item.is-done i{background:var(--a-ok-soft);color:var(--a-ok);border-color:transparent}.side-item span{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-item small{font-size:.75em;color:var(--a-ink-2)}.side-empty{margin:.25rem .5rem;font-size:.82em;color:var(--a-ink-2);line-height:1.4}.side-user{display:flex;align-items:center;gap:.6rem;margin-top:.75rem;padding:.5rem .35rem .25rem;border-top:1px solid var(--a-line)}.side-user b{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--a-accent);color:#fff;font-weight:500;font-size:.85em}.side-user span{flex:1 1;font-size:.92em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-scrim{display:none}.main{flex:1 1;min-width:0;flex-direction:column}.main,.top{display:flex}.top{align-items:center;gap:.75rem;padding:.6rem 1rem;border-bottom:1px solid var(--a-line);background:var(--a-bg)}.top-menu{display:none}.top-title{flex:1 1;min-width:0;display:flex;flex-direction:column;line-height:1.2}.top-kicker{font-size:.72em;text-transform:uppercase;letter-spacing:.08em;color:var(--a-ink-2)}.top-title strong{font-weight:500;font-size:1.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-progress{display:flex;align-items:center;gap:.3rem}.top-progress i{width:1.4rem;height:.3rem;border-radius:2px;background:var(--a-line)}.top-progress i.done{background:var(--a-ok)}.top-progress i.now{background:var(--a-accent)}.top-progress span{margin-left:.4rem;font-size:.8em;color:var(--a-ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.demo-bar{padding:.45rem 1rem;background:var(--a-warn-soft);color:var(--a-warn-ink);font-size:.85em;text-align:center}.ws{min-height:0}.chat-col,.ws{flex:1 1;display:flex}.chat-col{min-width:0;flex-direction:column}.chat-scroll{flex:1 1;overflow-y:auto;padding:1.5rem 1.25rem 0;scrollbar-width:thin}.chat-scroll>*{max-width:46rem;margin-left:auto;margin-right:auto}.empty{padding:3rem 0 1rem}.empty-k{font-size:.75em;text-transform:uppercase;letter-spacing:.08em;color:var(--a-ink-2)}.empty h2{margin:.35rem 0 .75rem;font-weight:400;font-size:1.9em;letter-spacing:-.02em}.empty p{color:var(--a-ink-2);max-width:52ch;margin:0 0 .6rem}.empty-hint{padding:.8rem 1rem;border-radius:.7rem;background:var(--a-accent-soft);color:var(--a-accent-ink)!important}.empty .btn-app{margin-top:1rem}.m{display:flex;gap:.75rem;margin:0 auto 1.1rem;align-items:flex-start;animation:rise .45s var(--ease) both}.m.user{justify-content:flex-end}.m-av{flex:none;width:1.75rem;height:1.75rem;border-radius:50%;margin-top:.2rem;background:var(--a-accent);position:relative}.m-av:after{content:"";position:absolute;inset:0;margin:auto;width:.5rem;height:.5rem;border-radius:50%;background:#fff}.m-body{max-width:80%;padding:.75rem 1rem;border-radius:1.1rem}.m.user .m-body{background:var(--a-user);color:var(--a-user-ink);border-bottom-right-radius:.35rem}.m.assistant .m-body{background:var(--a-claude);border-bottom-left-radius:.35rem;max-width:88%}.m-body p{margin:0 0 .6em}.m-body p:last-child,.m-body table:last-child,.m-body ul:last-child{margin-bottom:0}.m-body ul{margin:0 0 .6em;padding-left:1.2em}.m-body li{margin:.2em 0}.m-body table{border-collapse:collapse;margin:.3em 0 .6em;font-size:.92em}.m-body td,.m-body th{padding:.35em .6em;border:1px solid var(--a-line);text-align:left}.m-body th{background:var(--a-plate);font-weight:500}.m-file{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.4rem;padding:.35rem .6rem;border-radius:.5rem;background:rgba(255,255,255,.14);font-size:.85em}.m.assistant .m-file{background:var(--a-plate)}.typing{display:inline-flex;gap:.3rem;padding:.9rem 1rem}.typing i{width:.4rem;height:.4rem;border-radius:50%;background:var(--a-ink-2);animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}.composer{padding:.75rem 1.25rem 1rem}.composer>*{max-width:46rem;margin-left:auto;margin-right:auto}.composer-file{display:flex;align-items:center;gap:.4rem;width:-moz-fit-content;width:fit-content;margin-bottom:.5rem;padding:.35rem .6rem;border-radius:.5rem;background:var(--a-accent-soft);color:var(--a-accent-ink);font-size:.85em}.composer-file button{border:0;background:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit}.composer-row{display:flex;align-items:flex-end;gap:.4rem;padding:.45rem .5rem .45rem .45rem;border:1px solid var(--a-line);border-radius:1.3rem;background:var(--a-plate);box-shadow:0 6px 24px -18px rgba(0,0,0,.35);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.composer-row:focus-within{border-color:var(--a-accent);box-shadow:0 0 0 3px var(--a-accent-soft)}.composer-row textarea{flex:1 1;border:0;background:transparent;resize:none;padding:.55rem .25rem;max-height:200px;line-height:1.45;outline:none}.composer-row textarea::placeholder{color:var(--a-ink-2)}.send{flex:none;width:2.25rem;height:2.25rem;border:0;border-radius:50%;background:var(--a-ink);color:var(--a-bg);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .2s var(--ease),transform .2s var(--ease)}.app[data-tema=oscuro] .send{background:#ededea;color:#1d1d1b}.send:disabled{opacity:.25;cursor:default}.send:not(:disabled):hover{transform:translateY(-1px)}.composer-hint{margin:.5rem 0 0;text-align:center;font-size:.75em;color:var(--a-ink-2)}.guide{width:20rem;flex:none;display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-left:1px solid var(--a-line);background:var(--a-side);overflow-y:auto;scrollbar-width:thin}.app[data-guia="0"] .guide{display:none}.guide-head{font-size:.72em;text-transform:uppercase;letter-spacing:.08em;color:var(--a-ink-2);padding:0 .25rem}.guide-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.guide-list li{display:flex;align-items:center;gap:.6rem;padding:.4rem .5rem;border-radius:.5rem;font-size:.9em;color:var(--a-ink-2)}.guide-list li i{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:50%;border:1px solid var(--a-line);background:var(--a-plate);font-style:normal;font-size:.7em}.guide-list li.done{color:var(--a-ink)}.guide-list li.done i{background:var(--a-ok-soft);color:var(--a-ok);border-color:transparent}.guide-list li.now{color:var(--a-ink);background:var(--a-plate)}.guide-list li.now i{background:var(--a-accent);color:#fff;border-color:transparent}.guide-card{display:flex;flex-direction:column;gap:.6rem;padding:1rem;border-radius:.9rem;background:var(--a-plate);border:1px solid var(--a-line)}.guide-k{font-size:.72em;text-transform:uppercase;letter-spacing:.08em;color:var(--a-accent-ink)}.guide-card h3{margin:0;font-weight:500;font-size:1.1em}.guide-card p{margin:0;color:var(--a-ink-2);font-size:.95em}.guide-card .btn-app{align-self:flex-start}.guide-next{display:flex;flex-direction:column;gap:.5rem;margin-top:.4rem;padding-top:.75rem;border-top:1px solid var(--a-line)}.guide-next span{font-size:.85em;color:var(--a-ink-2)}.guide-done{align-items:flex-start}.guide-check{display:inline-flex;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--a-ok-soft);color:var(--a-ok)}.guide-check,.modal-scrim{align-items:center;justify-content:center}.modal-scrim{position:fixed;inset:0;z-index:30;display:flex;padding:1rem;background:rgba(20,20,20,.35);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .2s var(--ease) both}.modal{width:min(30rem,100%);max-height:90dvh;overflow-y:auto;padding:1.25rem 1.5rem 1.5rem;border-radius:1rem;background:var(--a-bg);color:var(--a-ink);box-shadow:0 30px 80px -30px rgba(0,0,0,.5);animation:rise .3s var(--ease) both}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.modal-head h2{margin:0;font-weight:500;font-size:1.25em}.aj-row{display:grid;grid-template-columns:9rem 1fr;align-items:center;grid-gap:.75rem;gap:.75rem;padding:.8rem 0;border-top:1px solid var(--a-line)}.aj-row>span{font-size:.9em;color:var(--a-ink-2)}.aj-row input{padding:.55rem .75rem;border:1px solid var(--a-line);border-radius:.6rem;background:var(--a-plate)}.aj-row input:focus{outline:none;border-color:var(--a-accent);box-shadow:0 0 0 3px var(--a-accent-soft)}.aj-note{margin:0;font-size:.9em}.seg{display:inline-flex;padding:.2rem;border-radius:var(--pill);background:var(--a-side);border:1px solid var(--a-line);width:-moz-fit-content;width:fit-content}.seg button{padding:.4rem .9rem;border:0;border-radius:var(--pill);background:transparent;cursor:pointer;font-size:.9em;color:var(--a-ink-2)}.seg button.is-on{background:var(--a-plate);color:var(--a-ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}.modal-foot{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--a-line)}@keyframes fade{0%{opacity:0}to{opacity:1}}.login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--bg)}.login-card{width:min(26rem,100%);padding:2rem;border-radius:1rem;background:#fff;box-shadow:0 24px 60px -30px rgba(30,30,30,.3);display:flex;flex-direction:column;gap:1rem}.login-card h1{font-size:1.8rem;margin:.5rem 0 0}.login-card p{color:var(--ink-2)}.login-card form,.login-card>div{display:flex;flex-direction:column;gap:.9rem}.login-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--ink-2)}.login-card input{font:inherit;padding:.75rem .9rem;border:1px solid #d0d0d0;border-radius:.6rem}.login-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login .btn-app{background:var(--ink);color:#fff;align-self:flex-start}.login-alt{font-size:.85rem}.login-alt a{text-decoration:underline;text-underline-offset:.2em;color:var(--ink)}@media (max-width:1100px){.guide{width:17rem}}@media (max-width:880px){.side{position:fixed;inset:0 auto 0 0;z-index:25;transform:translateX(-100%);transition:transform .3s var(--ease);box-shadow:0 0 60px rgba(0,0,0,.2)}.side.is-open{transform:none}.side-close{display:inline-flex}.side-scrim{display:block;position:fixed;inset:0;z-index:24;background:rgba(0,0,0,.3)}.top-menu{display:inline-flex}.ws{flex-direction:column}.guide{width:auto;border-left:0;border-top:1px solid var(--a-line);max-height:42dvh}.guide-list{display:none}.m-body,.m.assistant .m-body{max-width:92%}.top-progress span{display:none}}.m.assistant.is-typing .m-body>:last-child:after{content:"";display:inline-block;width:.45em;height:1em;margin-left:.15em;vertical-align:-.15em;background:currentColor;opacity:.55;animation:blink 1s infinite}.tour{position:fixed;inset:0;z-index:40}.tour-block{position:absolute;inset:0}.tour-hole{position:absolute;border-radius:.9rem;box-shadow:0 0 0 9999px rgba(18,18,18,.62),0 0 0 3px var(--a-accent);pointer-events:none;transition:top .45s var(--ease),left .45s var(--ease),width .45s var(--ease),height .45s var(--ease)}.tour-globo{display:flex;flex-direction:column;gap:.45rem;padding:1.1rem 1.2rem 1rem;border-radius:1rem;color:var(--a-ink);box-shadow:0 30px 70px -25px rgba(0,0,0,.55);animation:rise .35s var(--ease) both}.tour-globo,.tour-globo:before{position:absolute;background:var(--a-plate)}.tour-globo:before{content:"";width:.9rem;height:.9rem;transform:rotate(45deg)}.tour-right:before{left:-.45rem;top:1.4rem}.tour-left:before{right:-.45rem;top:1.4rem}.tour-bottom:before{top:-.45rem;left:1.4rem}.tour-top:before{bottom:-.45rem;left:1.4rem}.tour-x{position:absolute;top:.4rem;right:.4rem;width:1.9rem;height:1.9rem}.tour-k{font-size:.72em;text-transform:uppercase;letter-spacing:.08em;color:var(--a-accent-ink)}.tour-globo h3{margin:0;font-weight:500;font-size:1.2em;padding-right:1.5rem}.tour-globo p{margin:0;font-size:1.02em;line-height:1.5;color:var(--a-ink-2)}.tour-acciones{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}@media (prefers-reduced-motion:reduce){.tour-hole{transition:none}}.side-new{flex-wrap:wrap}.side-new>span{flex:1 1}.side-new small{flex-basis:100%;padding-left:1.5rem;font-size:.75em;color:var(--a-ink-2)}.side-new.is-locked{color:var(--a-ink-2);cursor:default;border-style:dashed}.side-new.is-locked,.side-new.is-locked:hover{background:transparent}.icon-btn.is-locked{color:var(--a-ink-2);opacity:.55;cursor:default}.icon-btn.is-locked:hover{background:transparent}.curso-list{list-style:none;margin:0 0 .5rem;padding:0;display:flex;flex-direction:column;gap:.1rem}.curso-item{display:flex;align-items:center;gap:.6rem;padding:.45rem .55rem;border-radius:.6rem;font-size:.92em;color:var(--a-ink);transition:background-color .15s var(--ease)}a.curso-item:hover{background:var(--a-hover)}.curso-item.is-on{background:var(--a-plate);box-shadow:0 1px 0 rgba(0,0,0,.04)}.curso-item i{flex:none;display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--a-plate);border:1px solid var(--a-line);font-style:normal;font-size:.7em;color:var(--a-ink-2)}.curso-item.is-on i{background:var(--a-accent);color:#fff;border-color:transparent}.curso-item.is-done i{background:var(--a-ok-soft);color:var(--a-ok);border-color:transparent}.curso-item.is-locked{color:var(--a-ink-2)}.curso-item.is-locked i{background:transparent}.curso-item span{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.curso-item small{font-size:.75em;color:var(--a-ink-2)}.guide-list li.nota i{border-radius:.3rem}.guide-texto{white-space:normal}.guide-texto p{margin:0 0 .5em;color:inherit}.guide-texto p:last-child{margin:0}.guide-nota.tono-cuidado{background:var(--a-warn-soft);border-color:transparent}.guide-nota.tono-cuidado,.guide-nota.tono-cuidado .guide-k,.guide-nota.tono-cuidado p{color:var(--a-warn-ink)}.guide-nota.tono-info{background:var(--a-accent-soft);border-color:transparent}.guide-nota.tono-info,.guide-nota.tono-info .guide-k,.guide-nota.tono-info p{color:var(--a-accent-ink)}.guide-nota.tono-nuevo{background:var(--a-ok-soft);border-color:transparent}.guide-nota.tono-nuevo,.guide-nota.tono-nuevo .guide-k,.guide-nota.tono-nuevo p{color:var(--a-ok)}.guide-nota .guide-next{border-top-color:rgba(0,0,0,.08)}.guide-nota .guide-next .btn-app{align-self:flex-start}.curso-head{display:flex;flex-direction:column;gap:.5rem;padding:.25rem .25rem .75rem;border-bottom:1px solid var(--a-line)}.curso-head-row{display:flex;align-items:baseline;justify-content:space-between}.curso-title{font-size:.72em;text-transform:uppercase;letter-spacing:.08em;color:var(--a-ink-2)}.curso-toggle{border:0;background:none;padding:0;font-size:.8em;color:var(--a-accent-ink);cursor:pointer;text-decoration:underline;text-underline-offset:.2em}.curso-dots{display:flex;gap:.35rem}.curso-dots i{flex:1 1;height:.35rem;border-radius:2px;background:var(--a-line)}.curso-dots i.done{background:var(--a-ok)}.curso-dots i.now{background:var(--a-accent)}.curso-dots i.locked{opacity:.5}.curso-list{margin-top:.25rem}