/* ===== Laboratorio IdeaFlow ===== */
.rm.full{display:none;padding:clamp(64px,8vh,96px) clamp(16px,4vw,64px) clamp(16px,3vh,40px)}.rm.full.on{display:block}
.rm.full .rm-labwrap{height:100%;opacity:0;transform:scale(.96);transition:opacity .8s .15s,transform 1s .15s cubic-bezier(.22,1,.36,1)}#room.in .rm.full .rm-labwrap{opacity:1;transform:none}
.lab{position:relative;height:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:18px;min-height:0}
.lab-main,.lab-term{position:relative;border:1px solid #26332f;border-radius:8px;background:linear-gradient(180deg,rgba(14,18,18,.85),rgba(8,9,10,.92));overflow:hidden;min-height:0;display:flex;flex-direction:column}
.lab-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #26332f;font:500 11px ui-monospace,Menlo,monospace;letter-spacing:.16em;color:#7fb6b0;text-transform:uppercase}
.lab-hud{display:flex;gap:18px;color:#cdbf9f;letter-spacing:.08em}.lab-hud i{font-style:normal;color:#7d786c}.lab-hud em{font-style:normal;color:#F0D9A8;font-size:13px}
.lab-graph{flex:1;min-height:0;width:100%}
.lab-graph line{stroke:rgba(127,182,176,.28);stroke-width:1.2;stroke-dasharray:3 6}
.core-bg{fill:#14100a;stroke:#D6AE6B;stroke-width:1.5}.core-ring{fill:none;stroke:rgba(214,174,107,.35);stroke-dasharray:4 7;animation:labspin 14s linear infinite;transform-origin:260px 190px}
@keyframes labspin{to{transform:rotate(360deg)}}
.core text{font:600 11px ui-monospace,Menlo,monospace;letter-spacing:.14em;fill:#F0D9A8}
.ag{cursor:default;outline:none}.ag-bg{fill:#101312;stroke:#3a4a46;stroke-width:1.5;transition:fill .3s,stroke .3s}.ag-ring{fill:none;stroke:transparent;stroke-width:1.5}
.ag-n{font:600 15px ui-monospace,Menlo,monospace;fill:#7d786c}.ag-t{font:500 11px var(--sans,Archivo,sans-serif);fill:#9a9486;letter-spacing:.04em}
.ag.on .ag-bg{fill:#2a2110;stroke:#D6AE6B}.ag.on .ag-n,.ag.on .ag-t{fill:#F0D9A8}.ag.on .ag-ring{stroke:#D6AE6B;animation:agp 1.6s ease-out infinite;transform-box:fill-box;transform-origin:center}
.ag.done .ag-bg{fill:#10211f;stroke:#7fb6b0}.ag.done .ag-n,.ag.done .ag-t{fill:#9fd0ca}
.ag.bad{cursor:pointer}.ag.bad .ag-bg{fill:#3a1212;stroke:#ff5a4d}.ag.bad .ag-n,.ag.bad .ag-t{fill:#ff9d94}.ag.bad .ag-ring{stroke:#ff5a4d;animation:agp .7s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes agp{from{transform:scale(1);opacity:.9}to{transform:scale(1.6);opacity:0}}
.pkt{fill:#fff;filter:drop-shadow(0 0 5px #D6AE6B)}
.lab-bar{height:3px;background:#1d2724}.lab-bar i{display:block;height:100%;background:linear-gradient(90deg,#7fb6b0,#D6AE6B);transform:scaleX(0);transform-origin:left}
.term-head{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid #26332f}.term-head span{width:9px;height:9px;border-radius:50%;background:#3a4a46}.term-head span:nth-child(1){background:#ff5a4d}.term-head span:nth-child(2){background:#e9b84a}.term-head span:nth-child(3){background:#58c47a}
.term-head em{margin-left:auto;font:11px ui-monospace,Menlo,monospace;color:#7d786c;font-style:normal}
.code{flex:1.1;min-height:0;margin:0;padding:14px 18px;overflow:hidden;font:12.5px/1.55 ui-monospace,Menlo,monospace;color:#9fd0ca;white-space:pre-wrap;word-break:break-word}
.code::after{content:"▌";color:#D6AE6B;animation:misblink 1s steps(1) infinite}
.log{flex:.8;min-height:0;overflow:auto;padding:12px 18px;border-top:1px solid #26332f;font:12px/1.6 ui-monospace,Menlo,monospace;background:rgba(0,0,0,.25)}
.ln{color:#b9b2a3}.ln.ok{color:#9fd0ca}.ln.bad{color:#ff8d82}.ln.cmd{color:#F0D9A8}.ln.dep{color:#D6AE6B;font-weight:600}
.code-btn{display:none;position:absolute;right:14px;bottom:14px;padding:12px 22px;border-radius:30px;border:0;background:#D6AE6B;color:#0B0B0D;font:700 13px ui-monospace,Menlo,monospace;letter-spacing:.14em}
.lab.run .code-btn{display:block}
@media(hover:hover) and (pointer:fine){.lab.run .code-btn{opacity:.6}}
.lab-start,.lab-result{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,rgba(20,16,10,.95),rgba(8,8,10,.97));border-radius:8px;transition:opacity .6s,visibility .6s;padding:20px;overflow:auto}
.lab.run .lab-start{opacity:0;visibility:hidden;pointer-events:none}.lab-result{opacity:0;visibility:hidden;pointer-events:none}.lab.result .lab-result{opacity:1;visibility:visible;pointer-events:auto}
.ls-in,.lr-in{max-width:620px;width:100%;text-align:center}
.ls-intro{font:500 clamp(20px,2.3vw,30px)/1.3 var(--serif,'Bodoni Moda',serif);color:#F3EFE6;letter-spacing:-.02em;margin:0 0 22px}
.ls-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.ls-chips button{padding:10px 18px;border-radius:30px;border:1px solid #3a362c;background:rgba(20,20,24,.6);color:#EDE9DF;font-size:13px;cursor:pointer;transition:all .25s}.ls-chips button:hover,.ls-chips button.on{background:#D6AE6B;color:#0B0B0D;border-color:#D6AE6B}
.ls-input{display:block;width:min(100%,420px);margin:16px auto 0;padding:13px 18px;border-radius:30px;border:1px solid #3a362c!important;background:rgba(10,12,12,.8)!important;color:#F3EFE6!important;font:14px ui-monospace,Menlo,monospace;text-align:center}
.ls-how{margin:18px 0 0;font:12px/1.6 ui-monospace,Menlo,monospace;color:#8d887c;letter-spacing:.04em}
.ls-go{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:22px}
.lb{padding:14px 28px;border-radius:40px;border:1px solid #D6AE6B;background:#D6AE6B;color:#0B0B0D;font:600 14px var(--sans,Archivo,sans-serif);cursor:pointer;text-decoration:none;transition:transform .25s,background .25s}.lb:hover{transform:translateY(-2px);background:#F0D9A8}
.lb.ghost{background:transparent;color:#D6AE6B}.lb.ghost:hover{background:#D6AE6B;color:#0B0B0D}
.lr-done{font:600 13px ui-monospace,Menlo,monospace;letter-spacing:.2em;color:#9fd0ca;margin:0 0 16px}
.lr-browser{border:1px solid #3a362c;border-radius:10px;overflow:hidden;background:#0d0d10;box-shadow:0 24px 60px #000a,0 0 60px #D6AE6B22}
.lr-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#17171b}.lr-bar i{width:8px;height:8px;border-radius:50%;background:#3a4a46}.lr-url{margin:0 auto;font:11px ui-monospace,Menlo,monospace;color:#7d786c;background:#0d0d10;padding:3px 24px;border-radius:12px}
.lr-page{padding:30px 24px 24px;background:radial-gradient(ellipse at 50% 0,#2a2110,#0d0d10 70%)}
.lr-h{display:block;font:500 clamp(24px,3vw,38px)/1.1 var(--serif,'Bodoni Moda',serif);color:#F3EFE6;letter-spacing:-.03em}.lr-sub{display:block;margin-top:8px;font-size:13px;color:#b9b2a3}
.lr-cta{display:inline-block;margin-top:16px;padding:9px 22px;border-radius:30px;background:#D6AE6B;color:#0B0B0D;font:600 12px var(--sans,Archivo,sans-serif);text-decoration:none}
.lr-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.lr-blocks div{border:1px solid #2f2c26;border-radius:6px;padding:12px;text-align:left}.lr-blocks i{display:block;height:34px;border-radius:4px;background:linear-gradient(135deg,#2a2110,#7fb6b055);margin-bottom:8px}.lr-blocks span{font:11px ui-monospace,Menlo,monospace;color:#b9b2a3;letter-spacing:.08em}
.lr-stats{display:flex;gap:30px;justify-content:center;margin-top:20px}.lr-stats div{text-align:center}.lr-stats strong{display:block;font:500 32px ui-monospace,Menlo,monospace;color:#D6AE6B}.lr-stats span{font:10px ui-monospace,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase;color:#8d887c}
.lr-level{margin:14px 0 0;font:600 13px ui-monospace,Menlo,monospace;letter-spacing:.1em;color:#F0D9A8}.lr-level span{color:#D6AE6B}
.lr-note{margin:16px 0 0;font:11px ui-monospace,Menlo,monospace;color:#6f6a5f}
@media(max-width:900px){.rm.full{overflow:auto}.lab{grid-template-columns:1fr;grid-template-rows:minmax(300px,46vh) minmax(260px,40vh);height:auto}}
