:root{--ink:#07111d;--panel:#101f2f;--panel2:#081522;--line:#243b50;--text:#f4f8fb;--muted:#9eb8cc;--mint:#63e6be;--gold:#ffc966;--red:#ff7b86;--blue:#65bfff;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% 0,#0e3748 0,transparent 34%),var(--ink);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.skip-link{position:fixed;left:12px;top:-60px;z-index:20;background:var(--mint);color:#042019;padding:10px;border-radius:8px}.skip-link:focus{top:12px}.topbar{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:11px;color:var(--text);background:transparent;padding:0;font-size:16px}.brand strong{color:var(--mint)}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--mint),var(--blue));color:#062019;font-weight:900}.local-badge,.state-pill,.mode-tag{border:1px solid var(--line);border-radius:99px;padding:9px 14px;color:var(--muted);font-size:12px}.local-badge span{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--mint);margin-right:7px}.hero{padding:64px 0 50px;max-width:980px;margin:auto;text-align:center}.eyebrow,.panel-label{margin:0;color:var(--mint);font-size:11px;font-weight:900;letter-spacing:.13em}.hero h1,.project-heading h1{font-size:clamp(38px,6vw,68px);line-height:1.05;letter-spacing:-.045em;margin:16px 0 20px}.hero h1 em{font-style:normal;color:var(--mint)}.lead{max-width:760px;margin:0 auto 34px;color:var(--muted);font-size:18px;line-height:1.65}.composer,.panel{background:rgba(16,31,47,.94);border:1px solid var(--line);border-radius:20px}.composer{padding:22px;text-align:left;box-shadow:0 25px 70px #0004}label{display:block;font-weight:750;margin:0 0 10px}textarea,input,select{width:100%;border:1px solid var(--line);outline:0;background:var(--panel2);color:var(--text);border-radius:11px;padding:14px;font:inherit;resize:vertical}textarea:focus,input:focus,select:focus,button:focus-visible{outline:3px solid #63e6be66;outline-offset:2px}.composer-footer,.actions,.section-heading,.project-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.composer-footer{margin-top:13px;color:var(--muted);font-size:13px}.actions{justify-content:flex-end;flex-wrap:wrap;margin-top:18px}button{border:0;border-radius:10px;padding:12px 17px;background:var(--mint);color:#05231b;font-weight:850;cursor:pointer}button:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed}.secondary,.examples button,.text-button,.icon-button{background:transparent;color:var(--muted);border:1px solid var(--line)}.danger{background:#4b2029;color:#ffbec4}.examples{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:19px 0}.examples button{padding:9px 13px}.text-button{margin:10px auto}.trust-line{color:var(--muted);font-size:13px}.notice{position:sticky;top:10px;z-index:10;margin:8px 0;padding:13px 16px;border-radius:10px;background:#173248;border:1px solid var(--blue)}.notice.success{border-color:var(--mint)}.notice.error{border-color:var(--red);background:#391d27}.project-heading{padding:32px 0 20px}.project-heading h1{font-size:34px;margin:6px 0}.stage-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px}.stage-nav button{background:var(--panel2);border:1px solid var(--line);color:#7794aa;padding:12px}.stage-nav button.active{background:var(--mint);color:#05231b;border-color:var(--mint)}.stage-nav button.complete{color:var(--mint)}.studio-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:18px;align-items:start}.side-column{display:grid;gap:18px;position:sticky;top:12px}.panel{padding:26px}.section-heading{align-items:flex-start}.section-heading h2,.panel h2{font-size:21px;margin:7px 0 0}.section-heading.compact h2{font-size:18px}.mode-tag{white-space:nowrap}.conversation{display:grid;gap:12px;margin:24px 0}.message{padding:18px;border-radius:14px;background:var(--panel2);border-left:3px solid var(--mint)}.message p{line-height:1.55;margin:8px 0}.message small,.muted,small{color:var(--muted)}.answer-box{border-top:1px solid var(--line);padding-top:20px}.note-row{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid var(--line)}.note-row>span{width:26px;height:26px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center}.note-row>span.done{color:var(--mint);border-color:var(--mint)}.note-row strong,.note-row small{display:block}.note-row small{margin-top:4px}.briefing-grid,.card-grid,.approval-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:22px}.briefing-grid article,.card-grid article,.approval-summary article{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:16px}.briefing-grid span,.approval-summary span{display:block;color:var(--mint);font-size:11px;font-weight:850;text-transform:uppercase}.briefing-grid p{margin:8px 0 0;line-height:1.5}.confirmation-note,.empty-state{margin-top:20px;padding:17px;border:1px solid #63e6be55;background:#63e6be0c;border-radius:12px;color:var(--muted)}.empty-state{text-align:center}.design-goal{font-size:17px;line-height:1.6;color:var(--muted)}.workflow{display:grid;gap:8px;margin:22px 0}.workflow article{display:flex;gap:14px;padding:14px;background:var(--panel2);border:1px solid var(--line);border-radius:12px}.workflow article>span{color:var(--mint);font-weight:900}.workflow strong,.workflow small{display:block}.workflow p{margin:5px 0;color:var(--muted)}h3{font-size:15px;margin-top:26px}.card-grid h4{margin:9px 0 6px}.card-grid p{margin:0;color:var(--muted);font-size:13px}.risk{font-size:10px;text-transform:uppercase;color:var(--mint)}.risk.high{color:var(--red)}.risk.medium{color:var(--gold)}.check-list{padding-left:22px;color:var(--muted)}.check-list li{margin:8px 0}.feedback-box{margin-top:22px}.diff-legend{display:flex;gap:10px;margin:20px 0}.diff-legend span,.diff-item>span{padding:4px 8px;border-radius:99px;font-size:10px;font-weight:850}.added{background:#173b34;color:var(--mint)}.removed{background:#3e2028;color:#ff9da6}.modified{background:#42351e;color:var(--gold)}.diff-list{display:grid;gap:8px}.diff-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:13px;background:var(--panel2);border-radius:10px}.approval-summary strong{display:block;margin-top:7px}.event-list{list-style:none;margin:18px 0 0;padding:0;max-height:520px;overflow:auto}.event-list li{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}.event-list li>span{color:var(--mint);font-size:11px;font-weight:900}.event-list strong,.event-list small{display:block}.event-list small{margin-top:4px;line-height:1.4}.icon-button{padding:7px 10px}dialog{width:min(560px,calc(100% - 24px));background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:18px;padding:24px}dialog::backdrop{background:#02070dbb}dialog label{margin-top:17px}.loading{position:fixed;inset:0;z-index:30;background:#02070dcc;display:grid;place-content:center;justify-items:center;gap:12px}.loading span{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--mint);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{padding:32px 0;color:#66859d;font-size:12px;text-align:center}[hidden]{display:none!important}
@media(max-width:850px){.studio-grid{grid-template-columns:1fr}.side-column{position:static}.stage-nav{overflow:auto;display:flex}.stage-nav button{min-width:112px}.briefing-grid,.card-grid{grid-template-columns:1fr}}
@media(max-width:520px){.shell{width:min(calc(100% - 24px),var(--max))}.topbar{padding:16px 0;align-items:flex-start;flex-direction:column}.local-badge{font-size:10px}.hero{padding-top:34px}.hero h1{font-size:38px}.lead{font-size:16px}.composer,.panel{padding:18px}.composer-footer{align-items:flex-end}.project-heading{align-items:flex-start}.project-heading h1{font-size:27px}.state-pill{font-size:10px}.section-heading{flex-direction:column}.actions{display:grid;grid-template-columns:1fr;width:100%}.actions button{width:100%}.approval-summary{grid-template-columns:1fr}.diff-item{grid-template-columns:1fr}.mode-tag{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.stage-nav{grid-template-columns:repeat(7,1fr)}.artifact-files,.scenario-results{display:grid;gap:7px;margin-top:14px}.artifact-file{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:11px 13px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}.artifact-file code{overflow-wrap:anywhere;color:var(--text)}.artifact-file small{white-space:nowrap}.scenario-card{padding:16px;background:var(--panel2);border:1px solid var(--line);border-radius:12px}.scenario-card.pass{border-left:4px solid var(--mint)}.scenario-card.fail{border-left:4px solid var(--red)}.scenario-card header{display:flex;justify-content:space-between;gap:12px}.scenario-card p{margin:8px 0;color:var(--muted);line-height:1.5}.scenario-card span{font-size:11px;font-weight:900;color:var(--mint);text-transform:uppercase}.lab-logs{margin-top:16px;color:var(--muted)}.lab-logs pre{white-space:pre-wrap;overflow:auto;padding:14px;background:var(--panel2);border-radius:10px;color:var(--text)}@media(max-width:520px){.artifact-file{grid-template-columns:1fr}.artifact-file small{white-space:normal}}
.project-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}

/* Recorrido vertical tipo Codex y biblioteca de agentes. */
#studio-view:not([hidden]){display:grid;grid-template-columns:190px minmax(0,1fr);grid-template-areas:"heading heading" "stages workspace";column-gap:24px;align-items:start}
.project-heading{grid-area:heading}
.stage-nav{grid-area:stages;display:flex;flex-direction:column;gap:3px;position:sticky;top:18px;margin:0;padding:8px 0}
.stage-nav button{position:relative;min-width:0;text-align:left;background:transparent;border:0;border-radius:12px;padding:13px 14px 13px 43px;color:#7895aa}
.stage-nav button::before{content:"";position:absolute;left:17px;top:18px;width:10px;height:10px;border:2px solid #557086;border-radius:50%;background:var(--ink);z-index:2}
.stage-nav button::after{content:"";position:absolute;left:22px;top:28px;bottom:-9px;width:1px;background:var(--line)}
.stage-nav button:last-child::after{display:none}
.stage-nav button span{display:block;font-size:13px}
.stage-nav button.active{background:#102637;color:var(--text);border:0;box-shadow:inset 0 0 0 1px #2d4a60}
.stage-nav button.active::before{background:var(--mint);border-color:var(--mint);box-shadow:0 0 0 4px #63e6be1c}
.stage-nav button.complete::before{background:var(--mint);border-color:var(--mint)}
.studio-grid{grid-area:workspace}
.stage-panel{box-shadow:0 18px 48px #0002}
.conversation{max-width:760px}.message.partner{border-left:0;border-radius:18px 18px 18px 5px;padding:20px 22px;box-shadow:0 12px 32px #0003}.answer-box{max-width:760px;margin-left:auto;background:#0b1927;border:1px solid var(--line);border-radius:18px;padding:18px}
.agent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.agent-card{min-width:0;display:grid;grid-template-columns:84px minmax(0,1fr);gap:17px;padding:18px;background:linear-gradient(145deg,#0a1927,#0b1622);border:1px solid var(--line);border-radius:18px;transition:transform .2s ease,border-color .2s ease}
.agent-card:hover{transform:translateY(-2px);border-color:#3a6178}
.agent-icon{width:84px;height:84px;padding:0;border-radius:22px;background:linear-gradient(145deg,#173b4a,#123028);border:1px solid #4a796d;color:var(--text);font-size:38px;box-shadow:inset 0 1px #ffffff18,0 14px 30px #0003}
.agent-card-body{min-width:0}.agent-card-body h3{font-size:18px;margin:10px 0 5px;overflow-wrap:anywhere}.agent-card-body p,.agent-card-body small{display:block;margin:0;color:var(--muted);line-height:1.5}.agent-status{display:inline-flex;align-items:center;gap:6px;color:var(--mint);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.agent-status i{width:7px;height:7px;border-radius:50%;background:var(--mint)}
.agent-card-actions{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:14px}.agent-card-actions .icon-button{margin-left:auto}
.agent-runtime{margin-top:26px;padding:24px;border:1px solid #315269;border-radius:20px;background:linear-gradient(145deg,#0b1824,#07111b);box-shadow:0 20px 50px #0004}.agent-runtime-heading{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.agent-runtime-heading h3{font-size:20px;margin:4px 0}.runtime-agent-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid #4a796d;border-radius:16px;background:linear-gradient(145deg,#173b4a,#123028);font-size:27px}.agent-conversation{margin:22px 0}.agent-composer{margin-top:16px}.runtime-reply{white-space:pre-line}.runtime-steps{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.runtime-steps summary{cursor:pointer;color:var(--mint);font-size:12px}.runtime-step{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:10px;padding:10px;border-radius:10px;background:#081522}.runtime-step>span{align-self:start;padding:3px 7px;border-radius:99px;background:#173b34;color:var(--mint);font-size:9px;font-weight:900;text-transform:uppercase}.runtime-step.waiting_approval>span,.runtime-step.blocked>span{background:#42351e;color:var(--gold)}.runtime-step strong,.runtime-step small{display:block}.runtime-step small{margin-top:3px;line-height:1.4}
.runtime-review-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.runtime-review-actions button{padding:9px 12px;font-size:12px}.runtime-decision-note{margin-top:14px;padding:12px;border-radius:10px;border:1px solid var(--line);color:var(--muted);background:#081522}.runtime-decision-note.approved{border-color:#2f7864;color:var(--mint)}.runtime-decision-note.rejected{border-color:#7b3944;color:#ffadb5}.runtime-decision-note.changes_requested{border-color:#806a35;color:var(--gold)}
.icon-picker{margin:20px 0 0;padding:0;border:0}.icon-picker legend{font-weight:750;margin-bottom:10px}.agent-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.agent-icons label{margin:0}.agent-icons input{position:absolute;opacity:0;pointer-events:none}.agent-icons span{height:58px;display:grid;place-items:center;border:1px solid var(--line);border-radius:13px;background:var(--panel2);font-size:27px;cursor:pointer}.agent-icons input:checked+span{border-color:var(--mint);background:#173b34;box-shadow:0 0 0 2px #63e6be33}
@media(max-width:1100px){#studio-view:not([hidden]){grid-template-columns:155px minmax(0,1fr);column-gap:14px}.studio-grid{grid-template-columns:1fr}.side-column{position:static}.agent-grid{grid-template-columns:1fr}}
@media(max-width:700px){#studio-view:not([hidden]){display:block}.stage-nav{position:static;margin-bottom:16px;padding:8px 0}.stage-nav button{min-width:0}.agent-card{grid-template-columns:68px minmax(0,1fr)}.agent-icon{width:68px;height:68px}.agent-card-actions button{flex:1}.agent-card-actions .icon-button{flex:0 0 auto}}

/* Conversación continua: cada etapa permanece en el mismo hilo. */
body{background:#05080c;color:#f5f7fa}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{position:relative;min-height:72px}.brand-mark{width:34px;height:34px;border-radius:10px}.brand{font-size:14px}.local-badge{background:#0b1118}
.mode-switch{position:absolute;left:50%;transform:translateX(-50%);display:flex;padding:3px;background:#151515;border:1px solid #242424;border-radius:999px}.mode-switch button{min-width:94px;padding:8px 18px;border-radius:999px;background:transparent;color:#a9b1bc}.mode-switch button.active{background:#292929;color:#fff}
.hero{min-height:calc(100vh - 150px);max-width:820px;padding:20vh 0 60px;display:flex;flex-direction:column;justify-content:flex-start}.hero .eyebrow{display:none}.hero h1{font-size:28px;letter-spacing:-.025em;margin:0 0 26px;font-weight:650}.hero .lead{font-size:15px;max-width:650px;margin:0 auto 20px;color:#929aa5}.hero .composer{width:100%;border-radius:25px;padding:15px 16px 12px;background:#1d1d1f;border-color:#333;box-shadow:none}.hero .composer textarea{min-height:78px;padding:4px 2px;background:transparent;border:0;border-radius:0}.hero .composer textarea:focus{outline:0}.hero .composer-footer{margin-top:8px}.send-button{width:40px;height:40px;padding:0;border-radius:50%;font-size:23px;display:grid;place-items:center}.examples{max-width:760px;margin:18px auto 0}.examples button{border:0;background:transparent;padding:8px 12px;color:#abb7c4;font-weight:550}.trust-line{margin-top:20px}
#studio-view:not([hidden]){display:block}.project-heading{width:min(100%,900px);margin:0 auto;padding:30px 0 14px}.project-heading h1{font-size:24px;margin:4px 0}.stage-nav{width:min(100%,900px);margin:0 auto 18px;position:sticky;top:8px;z-index:8;display:flex;flex-direction:row;gap:5px;padding:7px;background:#090e14e8;border:1px solid #1c2732;border-radius:16px;backdrop-filter:blur(16px);overflow:auto}.stage-nav button{flex:1;min-width:92px;text-align:center;padding:9px 10px;border-radius:10px}.stage-nav button::before,.stage-nav button::after{display:none}.stage-nav button span{font-size:11px}.stage-nav button.active{background:#202b35;box-shadow:none}.stage-nav button.complete{color:var(--mint)}
.studio-grid{display:block;width:100%}.chat-feed{width:min(100%,900px);margin:0 auto;display:grid;gap:0}.stage-panel{position:relative;margin:0;padding:34px 34px 42px 74px;background:transparent;border:0;border-radius:0;border-bottom:1px solid #1c2833;box-shadow:none}.stage-panel::before{content:"C";position:absolute;left:17px;top:34px;width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,var(--mint),var(--blue));color:#062019;font-weight:900}.stage-panel.complete-turn::before{content:"✓";background:#132a25;color:var(--mint);border:1px solid #285447}.stage-panel.active-turn{background:linear-gradient(90deg,#0b151e 0,transparent 70%)}.stage-panel.active-turn::after{content:"";position:absolute;left:34px;top:73px;bottom:0;width:1px;background:linear-gradient(var(--mint),transparent)}.section-heading h2,.panel h2{font-size:20px}.panel-label{font-size:10px}.panel{border-color:#263544}
.conversation{max-width:none;margin:22px 0;display:flex;flex-direction:column;gap:14px}.message{max-width:78%;padding:15px 18px;border:1px solid #293745;border-left:1px solid #293745;border-radius:18px;background:#101923}.message.partner{align-self:flex-start;border-radius:18px 18px 18px 5px;box-shadow:none}.message.user{align-self:flex-end;background:#242629;border-color:#36393d;border-radius:18px 18px 5px 18px}.message.user strong{color:var(--mint)}.message.current-question{box-shadow:0 0 0 1px #63e6be22}.answer-box{max-width:none;margin:18px 0 0;padding:13px 14px;background:#1d1d1f;border-color:#333;border-radius:22px}.answer-box textarea{min-height:76px;background:transparent;border:0;padding:4px}.answer-box textarea:focus{outline:0}.answer-box label{font-size:12px;color:#aeb7c1}.answer-box .actions{margin-top:8px}
.side-column{width:min(100%,900px);margin:26px auto 0;position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.side-column .panel{background:#0b121a;border-radius:16px}.agent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.topbar{align-items:flex-start}.mode-switch{position:static;transform:none;order:3;width:100%}.mode-switch button{flex:1}.local-badge{display:none}.hero{padding-top:13vh}.hero h1{font-size:24px}.project-heading{align-items:flex-start}.stage-nav{top:5px}.stage-panel{padding:28px 4px 34px 52px}.stage-panel::before{left:4px;top:28px}.stage-panel.active-turn::after{left:21px;top:67px}.section-heading{align-items:flex-start}.side-column{grid-template-columns:1fr}.agent-grid{grid-template-columns:1fr}.message{max-width:92%}}

/* Chat único: el flujo completo vive en un hilo y el modelo siempre queda visible. */
.project-heading,.stage-nav{display:none!important}
#studio-view:not([hidden]){padding-top:4vh}
.local-badge{display:flex;align-items:center;gap:0;white-space:nowrap}
.local-badge small{color:#6f8190}.local-badge.cloud-active{border-color:#4a6fb0;background:#0e1727}.local-badge.cloud-active span{background:#7da6ff}
.composer-controls,.answer-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.composer-controls{margin-left:auto}.answer-footer{margin-top:10px}.answer-footer .actions{margin-top:0}
.model-selector{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 11px;border-radius:999px;background:#151515;border:1px solid #303030;color:#d9dee5;font-size:12px;white-space:nowrap}.model-selector i{width:7px;height:7px;border-radius:50%;background:var(--mint)}.model-selector small{color:#8593a0}
.work-drawer{margin:24px 0 80px;border:1px solid #23313d;border-radius:16px;background:#090f15;overflow:hidden}.work-drawer>summary{cursor:pointer;padding:16px 19px;color:#a9bfd0;font-weight:700;list-style:none}.work-drawer>summary::before{content:"＋";margin-right:9px;color:var(--mint)}.work-drawer[open]>summary::before{content:"−"}.work-drawer .side-column{width:100%;margin:0;padding:0 16px 16px;position:static}
.stage-panel{scroll-margin-top:18px}.stage-panel .mode-tag{max-width:260px;overflow:hidden;text-overflow:ellipsis}
.model-source{display:block;margin-top:9px;color:#7fa0b7!important}
@media(max-width:760px){#studio-view:not([hidden]){padding-top:10px}.answer-footer{align-items:flex-end;flex-direction:column}.answer-footer .actions{width:100%}.composer-controls .model-selector small,.local-badge{display:none}.model-selector{max-width:190px;overflow:hidden}.work-drawer .side-column{grid-template-columns:1fr}}

/* Socio colaborativo: conversación principal respaldada exclusivamente por Gemini. */
.partner-chat-view{width:min(900px,calc(100% - 32px));margin:54px auto 120px}
.partner-chat-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:38px}
.partner-chat-heading h1{margin:4px 0 0;font-size:clamp(1.8rem,4vw,2.6rem)}
.partner-conversation{display:grid;gap:30px;min-height:300px;padding-bottom:28px}
.partner-turn{animation:turn-in .24s ease-out}
.user-turn{justify-self:end;width:min(78%,650px);padding:18px 22px;border:1px solid #3b3b3d;border-radius:24px 24px 6px 24px;background:#242426}
.assistant-turn{display:grid;grid-template-columns:42px minmax(0,1fr);gap:16px;width:min(88%,760px)}
.partner-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,#67e4d0,#67c8f2);color:#061016;font-weight:900}
.turn-label{margin-bottom:8px;color:var(--mint);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.turn-content{color:#eef6ff;font-size:1.03rem;line-height:1.7}
.turn-content p{margin:0 0 14px}.turn-content p:last-child{margin-bottom:0}
.partner-composer{position:sticky;bottom:18px;z-index:4;margin-top:18px;box-shadow:0 18px 60px rgba(0,0,0,.42)}
.partner-composer textarea{min-height:76px}
.partner-chat-view::before{content:attr(data-phase);position:fixed;top:76px;left:50%;transform:translateX(-50%);color:var(--muted);font-size:.75rem;pointer-events:none}
@keyframes turn-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:680px){.partner-chat-heading{align-items:flex-start;flex-direction:column}.user-turn,.assistant-turn{width:100%}.assistant-turn{grid-template-columns:34px minmax(0,1fr)}.partner-avatar{width:34px;height:34px;border-radius:11px}}

/* LLM workspace visual system. */
:root{--ink:#0d0f14;--panel:#171922;--panel2:#11131a;--line:#292c38;--text:#f3f3f7;--muted:#9b9eaa;--mint:#8b7cf6;--blue:#69a7ff;--gold:#e5ae63;--red:#ff7d8f}
body{background:radial-gradient(circle at 50% -18%,#242044 0,transparent 35%),#0d0f14;color:var(--text)}
.shell{width:min(calc(100% - 40px),1180px)}
.topbar{position:sticky;top:0;z-index:20;min-height:68px;border-bottom:1px solid #20232d;background:#0d0f14d9;backdrop-filter:blur(18px)}
.brand{gap:10px;color:#f6f6f8;font-size:14px;font-weight:750}.brand strong{color:inherit}
.brand-mark{width:32px;height:32px;border-radius:10px;background:linear-gradient(145deg,#9d8cff,#698dff);color:#fff;box-shadow:0 7px 24px #7667ff33}
.header-actions{display:flex;align-items:center;gap:10px}.header-new-chat{padding:9px 13px;border:1px solid #303441;background:#181a22;color:#dedee5;font-size:12px}.header-new-chat:hover{background:#20232d}
.identity-action{padding:9px 13px;border:1px solid #4c456d;background:#1c1928;color:#c9c2ff;font-size:11px}.identity-action:hover:not(:disabled){background:#272139}
.local-badge{padding:8px 12px;border-color:#303441;background:#15171f!important;color:#d7d7de}.local-badge span{background:#8b7cf6}.local-badge.cloud-active{border-color:#46415f;background:#181622!important}.local-badge.cloud-active span{background:#9b8cff}.local-badge small{color:#858894}
.hero{min-height:calc(100vh - 110px);max-width:760px;padding:16vh 0 70px}.hero .eyebrow{display:block;color:#9487ff}.welcome-orb{width:52px;height:52px;margin:0 auto 25px;display:grid;place-items:center;border:1px solid #48405f;border-radius:17px;background:linear-gradient(145deg,#252137,#171722);color:#a99cff;font-size:23px;box-shadow:0 18px 55px #6f5cff22}
.hero h1{margin:11px 0 12px;font-size:clamp(32px,5vw,46px);font-weight:650;letter-spacing:-.035em}.hero .lead{max-width:610px;margin:0 auto 32px;color:#a4a5af;font-size:16px;line-height:1.65}
.hero .composer,.partner-composer{padding:14px 15px 11px;border:1px solid #343744;border-radius:22px;background:#191b23;box-shadow:0 22px 70px #0005,0 0 0 1px #ffffff05}
.hero .composer:focus-within,.partner-composer:focus-within{border-color:#5b547c;box-shadow:0 22px 70px #0005,0 0 0 3px #8b7cf615}
.hero .composer textarea,.partner-composer textarea{min-height:48px;max-height:220px;padding:10px 8px;background:transparent;border:0;color:#f5f5f8;line-height:1.5;resize:none}.hero .composer textarea:focus,.partner-composer textarea:focus{outline:0}
.composer-footer{margin-top:5px}.composer-hint{color:#70737e;font-size:11px}.send-button{width:38px;height:38px;background:#8b7cf6;color:#fff;box-shadow:0 7px 20px #7767ef38}.send-button:disabled{background:#333541;color:#777985}.send-button:hover:not(:disabled){background:#9b8dff}
.examples{gap:10px;margin-top:20px}.examples button{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #272a34;border-radius:12px;background:#12141a;color:#aaacb6;font-size:12px}.examples button span{color:#9487ff}.examples button:hover{border-color:#3d3b4d;background:#171820;color:#e7e7eb}
.trust-line{color:#6f727d}.text-button{display:none!important}
.partner-chat-view{width:min(820px,calc(100% - 32px));margin:34px auto 120px}.partner-chat-view::before{display:none}
.partner-chat-heading{align-items:center;margin:10px 0 46px;padding:0 4px}.partner-chat-heading h1{margin:5px 0 0;font-size:19px;font-weight:620;letter-spacing:-.015em}.chat-context-label{margin:0;color:#777a86;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.chat-model-chip{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #2d303b;border-radius:999px;background:#14161d;color:#b8bac4;font-size:11px}.chat-model-chip span{width:7px;height:7px;border-radius:50%;background:#8b7cf6}
.partner-conversation{align-content:start;grid-auto-rows:max-content;gap:36px;min-height:calc(100vh - 365px);padding:0 8px 38px}.partner-turn{animation:turn-in .2s ease-out}.user-turn{align-self:start;width:fit-content;max-width:min(76%,620px);padding:15px 19px;border:1px solid #2e3039;border-radius:20px 20px 5px 20px;background:#20222a}.assistant-turn{align-self:start;grid-template-columns:34px minmax(0,1fr);gap:14px;width:min(92%,760px)}.partner-avatar{width:34px;height:34px;border:1px solid #47405e;border-radius:11px;background:#211e30;color:#a99cff;font-size:15px}.turn-label{margin:2px 0 8px;color:#9b8fff;font-size:10px;letter-spacing:.11em}.turn-content{color:#ececf1;font-size:15px;line-height:1.72}.turn-content p{margin-bottom:13px}.turn-meta{display:flex;align-items:center;gap:12px;margin-top:12px}.turn-meta small{color:#656975;font-size:10px}.copy-response{padding:4px 7px;border:0;background:transparent;color:#747783;font-size:10px}.copy-response:hover:not(:disabled){color:#c9cad1;background:#1b1d25;transform:none}
.turn-content ul,.turn-content ol{margin:10px 0;padding-left:23px}.turn-content li{margin:7px 0}.turn-content code{padding:2px 5px;border:1px solid #303340;border-radius:5px;background:#15171e;color:#c8c2ff;font-family:"Cascadia Code",Consolas,monospace;font-size:.9em}.turn-content pre{overflow:auto;margin:14px 0;padding:15px;border:1px solid #292c37;border-radius:12px;background:#0b0d12}.turn-content pre code{padding:0;border:0;background:transparent;color:#d8d9df;line-height:1.6}.turn-content strong{color:#fff;font-weight:720}
.turn-content h2,.turn-content h3,.turn-content h4,.turn-content h5{color:#f4f2ff;line-height:1.28;letter-spacing:-.018em}.turn-content h2{margin:2px 0 20px;font-size:clamp(20px,2.4vw,27px)}.turn-content h3{margin:30px 0 12px;padding-left:12px;border-left:3px solid #8172ff;font-size:18px}.turn-content h4,.turn-content h5{margin:24px 0 10px;font-size:15px}.turn-content hr{height:1px;margin:25px 0;border:0;background:linear-gradient(90deg,#6257a8,transparent)}
.chat-table-wrap{position:relative;width:100%;margin:18px 0 26px;overflow:auto;border:1px solid #37314f;border-radius:15px;background:#10121a;box-shadow:0 18px 42px #0004;scrollbar-width:thin;scrollbar-color:#5a5277 transparent}.chat-table-wrap:focus-visible{outline:2px solid #8b7cf6;outline-offset:3px}.chat-table-wrap table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;font-size:12px;line-height:1.5}.chat-table-wrap th,.chat-table-wrap td{min-width:175px;padding:13px 15px;border-right:1px solid #292c38;border-bottom:1px solid #292c38;text-align:left;vertical-align:top}.chat-table-wrap thead th{position:sticky;top:0;z-index:2;background:#211d34;color:#d8d1ff;font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.chat-table-wrap tbody th{position:sticky;left:0;z-index:1;min-width:190px;background:#171923;color:#fafaff;font-weight:720}.chat-table-wrap tbody tr:nth-child(even) td{background:#13151d}.chat-table-wrap tbody tr:hover td,.chat-table-wrap tbody tr:hover th{background:#201d2e}.chat-table-wrap tr:last-child>*{border-bottom:0}.chat-table-wrap tr>*:last-child{border-right:0}.chat-table-wrap code{white-space:nowrap}
.assistant-turn:has(.chat-table-wrap){width:min(100%,1040px)}
@media(max-width:700px){.turn-content h2{font-size:20px}.turn-content h3{margin-top:24px;font-size:16px}.chat-table-wrap{width:calc(100vw - 82px);margin-left:0}.chat-table-wrap table{min-width:820px}.chat-table-wrap th,.chat-table-wrap td{min-width:155px;padding:11px 12px}}
.agent-draft-card{margin-top:18px;padding:18px;border:1px solid #393450;border-radius:16px;background:linear-gradient(145deg,#181724,#12141b);box-shadow:inset 0 1px #ffffff08}.agent-draft-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.agent-draft-card header div{display:grid;gap:5px}.agent-draft-card header span{color:#9185e8;font-size:9px;font-weight:800;letter-spacing:.12em}.agent-draft-card header strong{color:#f1f1f5;font-size:15px}.agent-draft-card header b{padding:4px 7px;border-radius:999px;background:#26213b;color:#aaa0f7;font-size:11px}.draft-progress{height:4px;margin:14px 0 16px;border-radius:999px;background:#292b35;overflow:hidden}.draft-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7566e8,#a494ff)}.draft-purpose{display:grid;gap:5px}.draft-purpose>span,.draft-section-heading>span,.draft-missing>span{color:#777b88;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.draft-purpose>p{margin:0;color:#d1d2d8;font-size:12px;line-height:1.55}.draft-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.draft-metrics>div{display:grid;gap:2px;padding:9px 10px;border:1px solid #292c36;border-radius:10px;background:#11131a}.draft-metrics strong{color:#d9d7ef;font-size:13px}.draft-metrics span{color:#747885;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.draft-section{display:grid;gap:8px;margin-top:11px;padding:13px;border:1px solid #30333e;border-radius:12px;background:#14161d}.draft-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.draft-status{padding:4px 7px;border-radius:999px;background:#252832;color:#8b8f9b;font-size:8px;font-weight:700}.draft-status.ready{background:#1a3229;color:#75dcb0}.draft-status.warning{background:#3a2c16;color:#f1bf67}.draft-framework{border-color:#403866;background:#141320}.draft-framework.pending{border-color:#30333e;background:#14161d}.draft-framework-summary{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.draft-framework-summary strong{color:#eeeefe;font-size:12px}.draft-framework-summary em{color:#848797;font-size:9px;font-style:normal;text-align:right}.draft-framework>p,.draft-capabilities>p{margin:0;color:#a9acb9;font-size:10px;line-height:1.5}.draft-integrations{border-color:#654e24;background:#211b12}.draft-integrations ul{display:grid;gap:5px;margin:0;padding-left:17px;color:#ddc89e;font-size:10px;line-height:1.45}.draft-integrations small{color:#907e5f;font-size:9px;line-height:1.45}.draft-missing{display:grid;gap:7px;margin-top:12px}.draft-missing>div{display:flex;flex-wrap:wrap;gap:6px}.draft-missing em{padding:5px 7px;border:1px solid #2e313c;border-radius:999px;color:#9b9eaa;font-size:9px;font-style:normal}.agent-draft-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding-top:13px;border-top:1px solid #292c35}.agent-draft-card footer>span{color:#7c808c;font-size:10px}.agent-draft-card footer button{padding:9px 12px;border:1px solid #6559ba;background:#7667e8;color:#fff;font-size:11px}.agent-draft-card footer button:hover:not(:disabled){background:#897af5}.agent-draft-card .draft-created{color:#a79cf6}.draft-builder-runtime{color:#8178bc;font-size:9px;font-weight:750}
.builder-turn{width:min(96%,790px)}.builder-avatar{border-color:#256477;background:#102a31;color:#66ddf4}.builder-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.builder-heading .turn-label{color:#67dced}.builder-heading>div>strong{color:#f1f7f8;font-size:15px}.builder-heading>span{padding:6px 9px;border:1px solid #294954;border-radius:999px;color:#82b8c2;font-size:9px;white-space:nowrap}.builder-boundary{margin:12px 0;color:#788a91;font-size:10px;line-height:1.5}.build-progress{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin:18px 0;padding:0;list-style:none}.build-stage{position:relative;display:grid;justify-items:center;gap:7px;min-width:0;text-align:center}.build-stage:not(:last-child)::after{content:"";position:absolute;top:11px;left:calc(50% + 12px);width:calc(100% - 24px);height:1px;background:#2b3b42}.build-stage.complete:not(:last-child)::after{background:#3d8b73}.build-stage>span{position:relative;z-index:1;display:grid;place-items:center;width:23px;height:23px;border:1px solid #34444b;border-radius:50%;background:#111a1f;color:#778a91;font-size:9px}.build-stage.complete>span{border-color:#3d8b73;background:#15352c;color:#75e3b1}.build-stage.active>span{border:2px solid #294650;border-top-color:#68dcef;background:#102229;color:transparent;animation:build-stage-spin .8s linear infinite}.build-stage.failed>span{border-color:#74404b;background:#381d24;color:#ff91a0}.build-stage div{display:grid;gap:3px;min-width:0}.build-stage strong{color:#aebdc1;font-size:9px;line-height:1.3}.build-stage small{overflow:hidden;color:#5f7379;font-size:8px;line-height:1.35;text-overflow:ellipsis}.build-stage.pending{opacity:.52}@keyframes build-stage-spin{to{transform:rotate(360deg)}}.build-approval,.build-result{margin-top:14px;padding:16px;border:1px solid #73551f;border-radius:14px;background:#241d12}.build-approval>span,.build-result>span{display:block;margin-bottom:6px;color:#ffc766;font-size:9px;font-weight:850;letter-spacing:.1em}.build-approval>strong,.build-result>strong{color:#fff1d5;font-size:13px}.build-approval>p,.build-result>p{margin:8px 0 13px;color:#ae9d7e;font-size:10px;line-height:1.5}.build-approval>div,.build-result>div{display:flex;justify-content:flex-end;gap:8px}.build-approval button,.build-result button{padding:9px 12px;border-color:#75602f;background:#d69532;color:#171109;font-size:10px}.build-approval button.secondary,.build-result button.secondary{border-color:#3d424d;background:#181b22;color:#b7bbc3}.build-result{border-color:#256651;background:#10241e}.build-result>span{color:#6de2ae}.build-result>strong{color:#e6fff4}.build-result>p{color:#8bb7a5}.build-result button{border-color:#31785f;background:#62d6a6}.build-result.build-stopped{border-color:#683442;background:#27161b}.build-result.build-stopped>span{color:#ff8797}.build-result.build-stopped>strong{display:block;color:#e8c2c8;font-size:11px;line-height:1.5}.build-tests{display:flex!important;justify-content:flex-start!important;flex-wrap:wrap;gap:6px!important;margin:0 0 13px}.build-tests span{padding:5px 7px;border-radius:999px;background:#17372c;color:#70dfad;font-size:8px}.build-tests .fail{background:#3a1c25;color:#ff8c9b}
.build-capabilities{display:flex!important;align-items:center;justify-content:flex-start!important;flex-wrap:wrap;gap:6px!important;margin:0 0 13px}.build-capabilities>span{margin-right:3px;color:#8bb7a5;font-size:9px}.build-capabilities>b{padding:5px 7px;border:1px solid #28705a;border-radius:999px;background:#163b30;color:#79e4b5;font-size:8px}
.typing-turn{margin:0 8px 28px}.typing-dots{display:flex;gap:5px;padding-top:10px}.typing-dots span{width:6px;height:6px;border-radius:50%;background:#8b7cf6;animation:typing-pulse 1.15s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.16s}.typing-dots span:nth-child(3){animation-delay:.32s}@keyframes typing-pulse{0%,70%,100%{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-4px)}}
.partner-composer{position:sticky;bottom:18px;margin:0;box-shadow:0 22px 70px #0009,0 0 0 1px #ffffff05}.partner-composer textarea:disabled{opacity:.65}.partner-chat-view>.trust-line{margin-top:15px;font-size:11px}
.notice{top:78px;border-color:#47405f;background:#211d31}.notice.error{border-color:#7d3d4b;background:#331b24}
footer{color:#555863}
@media(max-width:700px){.shell{width:min(calc(100% - 24px),1180px)}.topbar{min-height:62px;padding:10px 0;flex-direction:row}.header-new-chat{font-size:0}.header-new-chat span{font-size:18px}.local-badge small{display:none}.hero{padding-top:11vh}.composer-hint{display:none}.partner-chat-view{margin-top:22px}.partner-chat-heading{margin-bottom:34px}.chat-model-chip{display:none}.user-turn{width:fit-content;max-width:88%}.assistant-turn{width:100%}.partner-conversation{padding-inline:0}.partner-composer{bottom:8px}}
@media(max-width:520px){.agent-draft-card{padding:14px}.draft-metrics{grid-template-columns:1fr}.draft-section-heading,.draft-framework-summary{align-items:flex-start;flex-direction:column}.draft-framework-summary em{text-align:left}}

/* El chat ocupa el viewport: solo el historial se desplaza. */
body.chat-active{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body.chat-active .topbar{flex:0 0 auto}
body.chat-active #main-content{flex:1 1 auto;min-height:0;overflow:hidden}
body.chat-active .partner-chat-view:not([hidden]){height:100%;margin:0 auto;padding:22px 0 14px;display:grid;grid-template-rows:minmax(0,1fr) auto auto auto}
body.chat-active .partner-conversation{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 8px 28px;scrollbar-gutter:stable}
body.chat-active .partner-conversation{scrollbar-width:thin;scrollbar-color:#373a46 transparent}
body.chat-active .partner-conversation::-webkit-scrollbar{width:7px}
body.chat-active .partner-conversation::-webkit-scrollbar-track{background:transparent}
body.chat-active .partner-conversation::-webkit-scrollbar-thumb{border-radius:999px;background:#373a46}
body.chat-active .typing-turn{margin-bottom:12px}
body.chat-active .partner-composer{position:static;bottom:auto}
body.chat-active .partner-chat-view>.trust-line{margin:9px 0 0}
body.chat-active>footer{display:none}
.legal-footer{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}.legal-footer nav{display:flex;gap:14px}.legal-footer a{color:#8f83ec;text-decoration:none}.legal-footer a:hover{text-decoration:underline}
@media(max-width:700px){body.chat-active .partner-chat-view:not([hidden]){padding:14px 0 8px}body.chat-active .partner-conversation{padding-bottom:18px}}

/* Historial LLM y desplazamiento principal en el extremo derecho. */
.conversation-sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:272px;display:flex;flex-direction:column;padding:20px 14px;border-right:1px solid #22252e;background:#0a0c11}
.tool-activity-list{display:grid;gap:7px;margin-top:14px}.tool-activity{display:flex;align-items:center;gap:9px;width:fit-content;max-width:100%;padding:8px 10px;border:1px solid #2e313c;border-radius:10px;background:#14161d;color:#9296a2}.tool-activity>span{color:#8b7cf6}.tool-activity>div{display:grid;gap:2px}.tool-activity strong{color:#c6c8d0;font-size:10px}.tool-activity small{color:#727681;font-size:9px}.tool-activity.completed{border-color:#28463d;background:#111c19}.tool-activity.completed>span{color:#69d8b0}.tool-activity.blocked{border-color:#5b3540;background:#21151a}.tool-activity.blocked>span{color:#ff8296}
.sidebar-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px 14px;color:#d9dae1;font-size:13px}.sidebar-heading>div{display:flex;gap:4px}.sidebar-new-chat,.sidebar-close{width:30px;height:30px;padding:0;border:1px solid #292c36;border-radius:9px;background:#15171e;color:#aeb0ba}.sidebar-close{display:none;font-size:18px}
.conversation-history{min-height:0;display:flex;flex:1;flex-direction:column;gap:4px;overflow-y:auto;padding-right:3px;scrollbar-width:thin;scrollbar-color:#30333e transparent}.history-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-radius:10px}.history-entry:hover,.history-entry.active{background:#171922}.history-entry.active{box-shadow:inset 2px 0 #8b7cf6}.history-select{min-width:0;display:flex;align-items:center;gap:9px;padding:10px 8px;border:0;background:transparent;color:#9fa2ad;text-align:left}.history-select span{color:#7067b2;transition:color .16s ease,text-shadow .16s ease}.history-select strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:560}.history-entry.active .history-select{color:#eeeef3}.history-entry.active .history-select span{color:#8b7cf6;text-shadow:0 0 8px #8b7cf699}.history-delete{width:26px;height:26px;margin-right:5px;padding:0;border:0;background:transparent;color:#656873;opacity:0}.history-entry:hover .history-delete,.history-entry.active .history-delete{opacity:1}.history-delete:hover:not(:disabled){background:#2c1a22;color:#ff8998;transform:none}.history-empty{padding:12px 8px;color:#626570;font-size:11px;line-height:1.5}
.agent-library{flex:0 0 auto;max-height:34vh;margin-top:12px;padding-top:13px;border-top:1px solid #20232b}.agent-library-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px 8px;color:#d9dae1;font-size:12px}.agent-library-heading span{display:grid;place-items:center;min-width:21px;height:21px;border-radius:999px;background:#1c1f29;color:#8e82ee;font-size:9px}.agent-catalog{display:grid;gap:5px;max-height:230px;overflow-y:auto}.catalog-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #262a35;border-radius:11px;background:#11141b}.catalog-open{min-width:0;display:flex;align-items:center;gap:9px;padding:9px;border:0;background:transparent;text-align:left}.catalog-open>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#24203b;color:#9d8cff}.catalog-open>div{min-width:0;display:grid;gap:3px}.catalog-open strong,.catalog-open small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-open strong{color:#dedfe6;font-size:10px}.catalog-open small{color:#6f7380;font-size:8px}.catalog-delete{width:25px;height:25px;margin-right:5px;padding:0;border:0;background:transparent;color:#676a75}.catalog-delete:hover:not(:disabled){background:#321d25;color:#ff8c9b;transform:none}.build-plugins b.connection_required{border-color:#745a27;background:#3a2c16;color:#efc575}
.taskmaster-studio-access{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;margin:2px 0 10px;padding:10px;border:1px solid #373249;border-radius:12px;background:linear-gradient(135deg,#1b1930,#12141c);color:#e9e7f4;text-align:left}.taskmaster-studio-access:hover:not(:disabled),.taskmaster-studio-access[aria-pressed="true"]{border-color:#7367c9;background:linear-gradient(135deg,#252044,#151722);transform:none;filter:none}.studio-access-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#8172ff,#5c55bc);color:#fff;font-size:16px;box-shadow:0 8px 20px #7567ff33}.taskmaster-studio-access>span:nth-child(2){min-width:0;display:grid;gap:3px}.taskmaster-studio-access strong{font-size:11px}.taskmaster-studio-access small{color:#8e91a0;font-size:8px}.taskmaster-studio-access b{color:#9487ff;font-size:19px}.catalog-label{margin:12px 8px 7px;color:#626777;font-size:8px;font-weight:800;letter-spacing:.13em}.taskmaster-studio-mode .welcome-orb{border-color:#7668c7;box-shadow:0 18px 60px #7868ff2b}.taskmaster-studio-mode .hero{background:radial-gradient(circle at 50% 34%,#3b2f7b1f,transparent 45%)}
.connection-library{flex:0 0 auto;margin-top:12px;padding-top:13px;border-top:1px solid #20232b}.connection-catalog{display:grid;gap:5px;max-height:190px;overflow-y:auto}.connection-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 7px 8px 10px;border:1px solid #292c37;border-radius:10px;background:#11141b}.connection-entry>div{min-width:0;display:grid;gap:3px}.connection-entry strong,.connection-entry small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-entry strong{color:#dfe0e6;font-size:10px}.connection-entry small{color:#7c808b;font-size:8px}.connection-entry .connection-action{width:auto;height:27px;padding:0 8px;border:1px solid #3b3e4a;border-radius:8px;background:#1a1c25;color:#b9b6d8;font-size:8px}.connection-entry .connection-action:hover:not(:disabled){border-color:#7164b7;background:#292441;color:#fff}.connection-entry .connection-action.danger{border-color:#51303a;color:#d98a98}.connection-offers{display:grid;gap:9px;margin-top:15px}.connection-offer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:14px;border:1px solid #51466e;border-radius:14px;background:#171522}.connection-offer .connection-provider{grid-column:1/-1;color:#9c8eff;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.connection-offer strong{color:#f2f0ff;font-size:13px}.connection-offer p,.connection-offer small{grid-column:1;color:#aaa7ba;font-size:10px;line-height:1.5;margin:0}.connection-offer small{color:#777487}.connection-offer button{grid-column:2;grid-row:2/5;align-self:center;padding:9px 11px;border-color:#6659a6;background:#7566df;color:#fff;font-size:10px}
.capability-status{margin-top:14px;padding:13px 11px;border-top:1px solid #20232b;color:#8b8e99}.capability-status>p{margin:0 0 11px;color:#5f626d;font-size:9px;font-weight:800;letter-spacing:.12em}.capability-status>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1px 8px;margin:9px 0}.capability-status strong{font-size:10px;font-weight:600}.capability-status small{grid-column:2;color:#5e616b;font-size:9px}.status-dot{width:7px;height:7px;margin-top:3px;border-radius:50%;background:#464953}.status-dot.active{background:#8b7cf6;box-shadow:0 0 0 3px #8b7cf618}
.sidebar-toggle{display:none;width:32px;height:32px;padding:0;border:1px solid #2c2f39;background:#15171e;color:#c8c9d0}
.topbar.shell{width:calc(100% - 272px);max-width:none;margin-left:272px;padding-inline:28px}
#main-content.shell{width:calc(100% - 272px);max-width:none;margin-left:272px;padding-inline:28px}
body>footer.shell{width:calc(100% - 272px);margin-left:272px}
@media(max-width:900px){.conversation-sidebar{transform:translateX(-100%);transition:transform .2s ease;box-shadow:18px 0 55px #0008}.sidebar-open .conversation-sidebar{transform:translateX(0)}.sidebar-close,.sidebar-toggle{display:grid;place-items:center}.topbar.shell,#main-content.shell,body>footer.shell{width:100%;margin-left:0}.topbar.shell,#main-content.shell{padding-inline:18px}.sidebar-open::after{content:"";position:fixed;inset:0;z-index:25;background:#0008}.sidebar-open .conversation-sidebar{z-index:31}}
.status-dot.active.builder{background:#59d6e9;box-shadow:0 0 0 3px #59d6e918}@media(max-width:700px){.builder-heading{align-items:flex-start;flex-direction:column}.build-approval>div,.build-result>div{align-items:stretch;flex-direction:column}.build-approval button,.build-result button{width:100%}}
.attach-button{display:inline-flex;align-items:center;gap:6px;margin:0;padding:7px 10px;border:1px solid #313440;border-radius:10px;color:#b6b8c2;background:#14161d;font-size:11px;font-weight:700;cursor:pointer}.attach-button:hover{border-color:#5b547c;color:#fff}.attach-button span{font-weight:600}.attachment-list{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}.attachment-list:empty{display:none}.attachment-chip{display:inline-flex;align-items:center;gap:7px;max-width:320px;padding:7px 8px 7px 10px;border:1px solid #343744;border-radius:11px;background:#151820;color:#d8d9df;font-size:11px}.attachment-chip>b{color:#8b7cf6}.attachment-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-chip small{color:#777b87;font-size:9px}.attachment-chip button{width:22px;height:22px;padding:0;border-radius:7px;background:transparent;color:#8d909a}.attachment-chip button:hover{background:#352029;color:#ff91a1}.turn-content a{color:#a99cff;text-decoration:underline;text-underline-offset:3px}.turn-content a:hover{color:#cbc3ff}
.composer,.composer-footer,.composer-controls{overflow:visible}.composer-controls{position:relative;z-index:60}.attachment-menu{position:relative;z-index:61}.attachment-menu[open]{z-index:80}.attachment-menu>summary{display:grid;place-items:center;width:34px;height:34px;border:1px solid #313440;border-radius:50%;background:#14161d;color:#d1d2d9;font-size:20px;line-height:1;cursor:pointer;list-style:none}.attachment-menu>summary::-webkit-details-marker{display:none}.attachment-menu[open]>summary,.attachment-menu>summary:hover{border-color:#7165bd;background:#211d32;color:#fff}.attachment-menu-options{position:absolute;right:0;bottom:calc(100% + 10px);z-index:90;width:220px;padding:7px;border:1px solid #343744;border-radius:13px;background:#15171e;box-shadow:0 18px 45px #000b}.attachment-menu-options label{display:grid;grid-template-columns:28px minmax(0,1fr);gap:2px 8px;margin:0;padding:9px;border-radius:9px;color:#e4e5ea;cursor:pointer}.attachment-menu-options label:hover{background:#22242d}.attachment-menu-options label>span{grid-row:1/3;display:grid;place-items:center;color:#9d90ff;font-size:17px}.attachment-menu-options b{font-size:11px}.attachment-menu-options small{color:#7d818d;font-size:9px}.document-inspector-image{display:block;max-width:100%;max-height:52vh;margin:12px auto;border:1px solid #343744;border-radius:12px;object-fit:contain;background:#090b10}.document-inspector-image[hidden]{display:none}
.drive-result-grid{display:grid;gap:8px;width:min(100%,720px);margin-top:8px}.drive-result-card{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:11px 12px;border:1px solid #2b2e39;border-radius:12px;background:#12141b}.drive-result-icon{display:grid;place-items:center;width:28px;height:28px;color:#9182ff;font-size:17px}.drive-result-details{display:grid;gap:4px;min-width:0}.drive-result-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ececf1;font-size:12px}.drive-result-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#828692;font-size:10px}.drive-result-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:max-content}.drive-result-actions a,.drive-result-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:31px;margin:0;padding:6px 10px;border:1px solid #3a3e4b;border-radius:8px;background:#191c24;color:#d9dbe3;font:inherit;font-size:10px;font-weight:750;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer}.turn-content .drive-result-actions a{text-decoration:none}.drive-result-actions a:hover,.drive-result-actions button:hover{border-color:#8878f5;background:#211e31;color:#fff}.repository-result-card{border-color:#34304a}.repository-result-card .drive-result-icon{background:#201c34;border-radius:8px}.repository-result-card .drive-result-actions a{border-color:#514879;background:#28223e;color:#c8c0ff}@media(max-width:640px){.drive-result-card{grid-template-columns:28px minmax(0,1fr)}.drive-result-actions{grid-column:2;justify-content:flex-start;min-width:0;flex-wrap:wrap}.drive-result-actions a,.drive-result-actions button{flex:0 0 auto}}

/* Radar de oportunidades: las tres fuentes quedan visibles sin competir con el chat. */
.research-sources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:min(100%,760px);margin:24px auto 0;text-align:left}
.research-sources article{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #292c37;border-radius:12px;background:#11131a}
.research-sources article>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#211d35;color:#a99cff}
.research-sources article>div{display:grid;gap:3px;min-width:0}.research-sources strong{color:#dddde5;font-size:11px}.research-sources small{color:#737783;font-size:9px;line-height:1.35}
.hero>.trust-line{margin-top:14px}.hero{max-width:840px;padding-top:12vh}.hero .lead{max-width:720px}.hero .eyebrow{font-size:10px;letter-spacing:.15em}
@media(max-width:720px){.research-sources{grid-template-columns:1fr}.hero{padding-top:8vh}.research-sources article{padding:9px 11px}}

/* Taskmaster Studio: lienzo digital con el chat como consola inferior. */
.builder-grid-preview{display:none}
.taskmaster-studio-mode #main-content{padding-bottom:0}
.taskmaster-studio-mode #welcome-view{position:relative;isolation:isolate;width:100%;max-width:none;min-height:calc(100dvh - 68px);padding:34px clamp(18px,4vw,64px) 22px;overflow:hidden;background-color:#0c0e14;background-image:linear-gradient(rgba(139,124,246,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(139,124,246,.09) 1px,transparent 1px),linear-gradient(rgba(139,124,246,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(139,124,246,.035) 1px,transparent 1px),radial-gradient(circle at 50% 44%,rgba(94,73,194,.22),transparent 34%);background-size:128px 128px,128px 128px,32px 32px,32px 32px,auto;background-position:center;display:flex;align-items:center;flex-direction:column}
.taskmaster-studio-mode #welcome-view::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#0c0e14 0,transparent 15%,transparent 78%,#0c0e14 100%),linear-gradient(90deg,#0c0e14 0,transparent 12%,transparent 88%,#0c0e14 100%)}
.taskmaster-studio-mode .welcome-orb{width:42px;height:42px;margin:0 auto 14px;border-radius:13px}
.taskmaster-studio-mode .hero .eyebrow{margin:0}
.taskmaster-studio-mode .hero h1{margin:8px 0 7px;font-size:clamp(30px,4vw,43px)}
.taskmaster-studio-mode .hero .lead{max-width:680px;margin:0 auto 15px;font-size:13px;line-height:1.55}
.taskmaster-studio-mode .builder-grid-preview{position:relative;width:min(100%,960px);min-height:260px;margin:0 auto 18px;display:grid;grid-template-columns:1fr 170px 1fr;grid-template-rows:1fr 1fr;align-items:center;gap:20px 54px}
.taskmaster-studio-mode .builder-grid-preview::before,.taskmaster-studio-mode .builder-grid-preview::after{content:"";position:absolute;left:17%;right:17%;top:50%;z-index:-1;border-top:1px solid rgba(143,128,255,.38);box-shadow:0 0 18px rgba(122,104,255,.23)}
.taskmaster-studio-mode .builder-grid-preview::after{left:50%;right:auto;top:13%;bottom:13%;border-top:0;border-left:1px solid rgba(143,128,255,.38)}
.builder-grid-node{display:flex;align-items:center;gap:11px;width:min(100%,245px);padding:12px 14px;border:1px solid rgba(111,102,164,.5);border-radius:12px;background:rgba(15,17,25,.88);box-shadow:0 12px 35px rgba(0,0,0,.28);text-align:left;backdrop-filter:blur(8px)}
.builder-grid-node:nth-child(even){justify-self:end}.builder-grid-node>span{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border:1px solid #6256a7;border-radius:9px;background:#211d37;color:#aa9dff;font-size:9px;font-weight:850}.builder-grid-node>div{display:grid;gap:3px}.builder-grid-node small{color:#70699b;font-size:7px;font-weight:850;letter-spacing:.13em}.builder-grid-node strong{color:#dcdae9;font-size:10px;font-weight:650}.node-objective{grid-column:1;grid-row:1}.node-architecture{grid-column:3;grid-row:1}.node-tools{grid-column:1;grid-row:2}.node-validation{grid-column:3;grid-row:2}
.builder-grid-core{grid-column:2;grid-row:1/3;align-self:center;justify-self:center;width:142px;height:142px;display:grid;place-content:center;justify-items:center;border:1px solid #7769cb;border-radius:50%;background:radial-gradient(circle,#292247 0,#171523 58%,#0e1017 70%);box-shadow:0 0 0 9px rgba(108,91,206,.07),0 0 65px rgba(105,86,219,.28)}.builder-grid-core i{width:9px;height:9px;margin-bottom:9px;border-radius:50%;background:#8f80ff;box-shadow:0 0 18px #8f80ff}.builder-grid-core span{color:#7e73bd;font-size:7px;font-style:normal;font-weight:850;letter-spacing:.17em}.builder-grid-core b{margin-top:3px;color:#f0eff8;font-size:15px;font-weight:650}
.taskmaster-studio-mode #project-form{order:20;width:min(100%,840px);margin-top:auto;background:rgba(24,25,34,.96);box-shadow:0 -16px 65px rgba(0,0,0,.36),0 0 0 1px rgba(139,124,246,.08)}
.taskmaster-studio-mode #welcome-attachments{order:21;width:min(100%,840px)}
.taskmaster-studio-mode #welcome-examples{order:19;margin:0 auto 12px}
.taskmaster-studio-mode #welcome-sources{display:none}
.taskmaster-studio-mode #welcome-trust{order:22;margin:10px 0 0}
@media(max-height:820px) and (min-width:721px){.taskmaster-studio-mode #welcome-view{padding-top:20px}.taskmaster-studio-mode .welcome-orb{display:none}.taskmaster-studio-mode .builder-grid-preview{min-height:210px}.taskmaster-studio-mode .hero .lead{margin-bottom:8px}}
@media(max-width:720px){.taskmaster-studio-mode #welcome-view{min-height:calc(100dvh - 62px);padding:22px 14px 12px;background-size:96px 96px,96px 96px,24px 24px,24px 24px,auto}.taskmaster-studio-mode .builder-grid-preview{min-height:auto;margin:10px 0 18px;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:8px}.taskmaster-studio-mode .builder-grid-preview::before,.taskmaster-studio-mode .builder-grid-preview::after,.taskmaster-studio-mode .builder-grid-core{display:none}.builder-grid-node,.builder-grid-node:nth-child(even){width:100%;justify-self:stretch;padding:10px}.node-objective{grid-column:1;grid-row:1}.node-architecture{grid-column:2;grid-row:1}.node-tools{grid-column:1;grid-row:2}.node-validation{grid-column:2;grid-row:2}.taskmaster-studio-mode #welcome-examples{display:none}.taskmaster-studio-mode #welcome-trust{font-size:9px}}

/* El constructor parte de un tablero limpio, no de una portada promocional. */
.taskmaster-studio-mode #welcome-view{padding-top:18px}
.taskmaster-studio-mode .welcome-orb,.taskmaster-studio-mode #welcome-eyebrow,.taskmaster-studio-mode #welcome-title,.taskmaster-studio-mode #welcome-lead,.taskmaster-studio-mode #welcome-examples,.taskmaster-studio-mode #welcome-trust{display:none}
.taskmaster-studio-mode .builder-grid-preview{flex:1 1 auto;width:100%;min-height:360px;margin:0;grid-template-columns:repeat(5,minmax(125px,1fr));grid-template-rows:1fr;gap:34px;align-items:center}
.taskmaster-studio-mode .builder-grid-preview::before{left:4%;right:4%;top:50%;border-top-color:rgba(143,128,255,.48)}
.taskmaster-studio-mode .builder-grid-preview::after{display:none}
.taskmaster-studio-mode .builder-grid-node,.taskmaster-studio-mode .builder-grid-core{position:relative;grid-row:1;grid-column:auto;justify-self:stretch;width:100%;height:auto;min-height:96px;padding:16px;border:1px solid #40395e;border-radius:10px;background:rgba(13,15,22,.94);box-shadow:0 15px 38px rgba(0,0,0,.28);place-content:initial;justify-items:initial}
.taskmaster-studio-mode .builder-grid-node{display:flex}
.taskmaster-studio-mode .builder-grid-node:nth-child(even){justify-self:stretch}
.taskmaster-studio-mode .builder-grid-node::before,.taskmaster-studio-mode .builder-grid-node::after,.taskmaster-studio-mode .builder-grid-core::before,.taskmaster-studio-mode .builder-grid-core::after{content:"";position:absolute;top:50%;width:7px;height:7px;border:1px solid #7769cb;border-radius:50%;background:#0c0e14;transform:translateY(-50%)}
.taskmaster-studio-mode .builder-grid-node::before,.taskmaster-studio-mode .builder-grid-core::before{left:-4px}.taskmaster-studio-mode .builder-grid-node::after,.taskmaster-studio-mode .builder-grid-core::after{right:-4px}
.taskmaster-studio-mode .builder-grid-core{display:flex;align-items:center;justify-content:center;flex-direction:column;border-color:#7568c7;border-radius:10px;background:linear-gradient(145deg,#1d1931,#11131b);box-shadow:0 0 0 4px rgba(116,101,207,.06),0 15px 45px rgba(68,50,157,.22)}
.taskmaster-studio-mode .builder-grid-core i{width:7px;height:7px;margin-bottom:7px}.taskmaster-studio-mode .builder-grid-core b{font-size:13px}
.taskmaster-studio-mode #project-form{flex:0 0 auto;margin:0 auto 6px}
@media(max-width:1100px) and (min-width:721px){.taskmaster-studio-mode .builder-grid-preview{grid-template-columns:repeat(5,minmax(105px,1fr));gap:18px}.taskmaster-studio-mode .builder-grid-node,.taskmaster-studio-mode .builder-grid-core{min-height:88px;padding:11px}.taskmaster-studio-mode .builder-grid-node>span{display:none}.taskmaster-studio-mode .builder-grid-node strong{font-size:9px}}
@media(max-width:720px){.taskmaster-studio-mode #welcome-view{padding:10px 12px}.taskmaster-studio-mode .builder-grid-preview{flex:1 1 auto;width:100%;min-height:310px;margin:0 0 10px;padding:0 20px;display:grid;grid-template-columns:repeat(5,180px);grid-template-rows:1fr;gap:26px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity}.taskmaster-studio-mode .builder-grid-preview::before{left:40px;right:auto;width:calc(5 * 180px + 4 * 26px - 40px)}.taskmaster-studio-mode .builder-grid-node,.taskmaster-studio-mode .builder-grid-core{display:flex;grid-row:1;grid-column:auto;min-height:92px;scroll-snap-align:center}.taskmaster-studio-mode .builder-grid-core{flex-direction:column}.taskmaster-studio-mode #project-form{width:100%}}

/* Estado vivo del constructor: el mismo contrato alimenta el tablero y el chat. */
.builder-grid-node{font:inherit;color:inherit;cursor:pointer}
.builder-grid-node:hover:not(:disabled){border-color:#7669c9;background:rgba(25,22,42,.97);transform:translateY(-2px);filter:none}
.builder-grid-node p{max-width:180px;margin:3px 0 0;overflow:hidden;color:#777b8b;font-size:8px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.builder-grid-core em{margin-top:7px;color:#8b7cf6;font-size:9px;font-style:normal;font-weight:800}
[data-builder-node][data-status="active"],[data-builder-node][data-status="running"]{border-color:#7769cb!important;box-shadow:0 0 0 3px rgba(119,105,203,.08),0 14px 38px rgba(0,0,0,.28)!important}
[data-builder-node][data-status="complete"]{border-color:#397968!important;background:linear-gradient(145deg,rgba(22,50,43,.92),rgba(13,20,22,.96))!important}
[data-builder-node][data-status="waiting"]{border-color:#9b7632!important;background:linear-gradient(145deg,rgba(57,43,20,.92),rgba(20,18,17,.96))!important}
[data-builder-node][data-status="failed"]{border-color:#82404e!important;background:linear-gradient(145deg,rgba(55,24,31,.92),rgba(21,16,19,.96))!important}
[data-builder-node][data-status="complete"] small{color:#69d9bc!important}[data-builder-node][data-status="waiting"] small{color:#efc36d!important}[data-builder-node][data-status="failed"] small{color:#ff8d9d!important}

/* Lienzo vivo de Taskmaster Studio. La cuadrícula comunica profundidad sin competir con el chat. */
.taskmaster-studio-mode #welcome-view{
  --grid-focus-x:50%;
  --grid-focus-y:44%;
  position:relative;
  isolation:isolate;
  padding:18px clamp(18px,4vw,64px) clamp(24px,5vh,56px);
  background-color:#090b11;
  background-image:
    linear-gradient(rgba(145,129,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(145,129,255,.06) 1px,transparent 1px),
    linear-gradient(rgba(145,129,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(145,129,255,.022) 1px,transparent 1px),
    radial-gradient(circle,rgba(169,155,255,.12) 1px,transparent 1.35px);
  background-size:128px 128px,128px 128px,32px 32px,32px 32px,64px 64px;
  background-position:0 0,0 0,0 0,0 0,16px 16px;
  animation:studio-grid-drift 30s linear infinite;
}
.taskmaster-studio-mode #welcome-view>*{position:relative;z-index:2}
.taskmaster-studio-mode #welcome-view::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle 4px at var(--grid-focus-x) var(--grid-focus-y),rgba(195,185,255,.9) 0 42%,transparent 58%),
    radial-gradient(circle 34px at var(--grid-focus-x) var(--grid-focus-y),transparent 0 77%,rgba(139,124,246,.5) 79%,transparent 84%),
    radial-gradient(ellipse at 50% 115%,rgba(77,53,181,.14),transparent 54%),
    linear-gradient(180deg,rgba(9,11,17,.78) 0,transparent 17%,transparent 78%,rgba(9,11,17,.9) 100%),
    linear-gradient(90deg,rgba(9,11,17,.38) 0,transparent 4%,transparent 96%,rgba(9,11,17,.38) 100%);
  filter:drop-shadow(0 0 9px rgba(139,124,246,.22));
}
.taskmaster-studio-mode #welcome-view::after{
  content:"";
  position:absolute;
  left:12%;
  right:12%;
  top:0;
  z-index:1;
  height:1px;
  pointer-events:none;
  opacity:.18;
  background:linear-gradient(90deg,transparent,rgba(167,151,255,.48),transparent);
  box-shadow:0 0 14px rgba(139,124,246,.12);
  animation:studio-scan 14s cubic-bezier(.45,0,.55,1) infinite;
}
.taskmaster-studio-mode #project-form{
  position:relative;
  flex:0 0 auto;
  width:min(100%,840px);
  margin:auto auto 0;
  overflow:hidden;
  border-color:rgba(127,111,220,.56);
  background:linear-gradient(145deg,rgba(27,28,39,.94),rgba(18,19,28,.93));
  box-shadow:0 22px 80px rgba(0,0,0,.5),0 0 0 1px rgba(139,124,246,.08),0 0 52px rgba(91,69,205,.1);
  backdrop-filter:blur(18px);
}
.taskmaster-studio-mode #project-form::before{
  content:"";
  position:absolute;
  left:9%;
  right:9%;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#8b7cf6,transparent);
  opacity:.65;
  animation:studio-composer-pulse 4.8s ease-in-out infinite;
}
.taskmaster-studio-mode #project-form:focus-within{
  border-color:#8b7cf6;
  box-shadow:0 24px 90px rgba(0,0,0,.54),0 0 0 3px rgba(139,124,246,.11),0 0 70px rgba(91,69,205,.17);
}
.taskmaster-studio-mode .send-button{box-shadow:0 0 0 1px rgba(255,255,255,.09),0 8px 24px rgba(119,99,255,.34)}

@keyframes studio-grid-drift{
  0%{background-position:0 0,0 0,0 0,0 0,16px 16px}
  100%{background-position:128px 128px,128px 128px,-32px 32px,-32px 32px,80px 80px}
}
@keyframes studio-scan{
  0%,12%{transform:translateY(0);opacity:0}
  24%{opacity:.18}
  76%{opacity:.12}
  92%,100%{transform:translateY(calc(100dvh - 190px));opacity:0}
}
@keyframes studio-composer-pulse{0%,100%{opacity:.28;transform:scaleX(.72)}50%{opacity:.86;transform:scaleX(1)}}

@media(max-width:720px){
  .taskmaster-studio-mode #welcome-view{padding:12px 14px 22px;background-size:96px 96px,96px 96px,24px 24px,24px 24px,48px 48px;animation-duration:36s}
  .taskmaster-studio-mode #project-form{width:100%;margin:auto 0 0}
  .taskmaster-studio-mode #welcome-view::after{animation-duration:11s}
}
@media(prefers-reduced-motion:reduce){
  .taskmaster-studio-mode #welcome-view,.taskmaster-studio-mode #welcome-view::after,.taskmaster-studio-mode #project-form::before{animation:none}
  .taskmaster-studio-mode #welcome-view::before{transition:none}
}

/* Navegación priorizada y conexiones visuales compactas. */
.conversation-sidebar{padding:16px 14px 20px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#30333e transparent}
.agent-library{max-height:34vh;margin:0;padding:0;border-top:0}
.conversation-library{flex:1 1 180px;min-height:118px;margin-top:12px;padding-top:13px;border-top:1px solid #20232b;display:flex;flex-direction:column}
.conversation-library .sidebar-heading{padding-bottom:9px}
.connection-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:220px;overflow-y:auto}
.connection-entry{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;padding:9px 8px;border-radius:11px}
.connection-brand{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#080a0f;box-shadow:inset 0 0 0 1px #ffffff0b}
.connection-brand svg{display:block;width:21px;height:21px}
.connection-copy{min-width:0;display:grid;gap:2px}
.connection-entry .connection-copy strong{font-size:9px}
.connection-entry .connection-copy small{font-size:7px}
.connection-entry .connection-action{grid-column:1/-1;width:100%;height:25px;padding:0 6px;font-size:8px}
@media(max-width:900px){.conversation-sidebar{overflow-y:auto}}

/* El lienzo llega a ambos bordes y el cursor se comporta como un nodo de diagrama. */
.taskmaster-studio-mode #main-content{padding-inline:0}

/* La primera intervención se transforma en conversación dentro del mismo lienzo. */
body.chat-transitioning #main-content{overflow:hidden}
body.chat-transitioning #welcome-view{pointer-events:none}
#welcome-view.welcome-exit>.welcome-orb,
#welcome-view.welcome-exit>.eyebrow,
#welcome-view.welcome-exit>h1,
#welcome-view.welcome-exit>.lead,
#welcome-view.welcome-exit>.examples,
#welcome-view.welcome-exit>.research-sources,
#welcome-view.welcome-exit>.trust-line,
#welcome-view.welcome-exit>.attachment-list{animation:welcome-content-out .28s ease both}
#welcome-view.welcome-exit>.composer{animation:welcome-composer-out .24s ease both}
.partner-chat-view.chat-entering .partner-chat-heading,
.partner-chat-view.chat-entering .partner-conversation,
.partner-chat-view.chat-entering .typing-turn,
.partner-chat-view.chat-entering>.trust-line{animation:conversation-content-in .52s .1s cubic-bezier(.2,.75,.2,1) both}
.partner-chat-view.chat-entering .partner-composer{animation:composer-dock-in .62s cubic-bezier(.2,.75,.2,1) both}
@keyframes welcome-content-out{to{opacity:0;transform:translateY(-18px);filter:blur(5px)}}
@keyframes welcome-composer-out{to{opacity:0;filter:blur(2px)}}
@keyframes conversation-content-in{from{opacity:0;transform:translateY(54px)}to{opacity:1;transform:none}}
@keyframes composer-dock-in{from{opacity:0;transform:translateY(120px) scale(.985)}to{opacity:1;transform:none}}
.assistant-turn.response-arrival{animation:assistant-response-in .52s cubic-bezier(.2,.72,.2,1) both}
.assistant-turn.response-arrival .agent-draft-card{animation:draft-response-in .58s .12s cubic-bezier(.2,.72,.2,1) both}
@keyframes assistant-response-in{from{opacity:0;transform:translateY(24px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes draft-response-in{from{opacity:0;transform:translateY(18px) scale(.992)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  #welcome-view.welcome-exit>*,
  .partner-chat-view.chat-entering>*,
  .assistant-turn.response-arrival,
  .assistant-turn.response-arrival .agent-draft-card{animation:none!important}
}
.taskmaster-studio-mode #welcome-view{width:100%;max-width:none}

/* En el catálogo de conexiones, el icono es toda la acción. */
.connection-catalog{grid-template-columns:repeat(4,48px);justify-content:start;gap:8px;max-height:none;overflow:visible;padding:0 8px 2px}
.connection-icon-button{position:relative;display:grid;place-items:center;width:48px;height:48px;padding:0;overflow:hidden;border:1px solid #303440;border-radius:13px;background:#11141b;color:#fff;box-shadow:0 8px 22px #0003;cursor:pointer}
.connection-icon-button:hover:not(:disabled){border-color:#7468c5;background:#191624;transform:translateY(-2px);filter:none}
.connection-icon-button .connection-brand{position:absolute;inset:0;width:auto;height:auto;border:0;border-radius:inherit;background:linear-gradient(145deg,#11151e,#080a0f);box-shadow:inset 0 0 0 1px #ffffff08;transition:background .18s ease,transform .18s ease}
.connection-icon-button .connection-brand svg{width:32px;height:32px;filter:drop-shadow(0 3px 7px #0008);transition:transform .18s ease}
.connection-icon-button:hover:not(:disabled) .connection-brand{background:linear-gradient(145deg,#191724,#0b0d13)}
.connection-icon-button:hover:not(:disabled) .connection-brand svg{transform:scale(1.06)}
.connection-icon-button>i{position:absolute;right:4px;bottom:4px;width:7px;height:7px;border:2px solid #11141b;border-radius:50%;background:#555a66}
.connection-icon-button.is-pending{border-color:#a17934;background:#241d12}
.connection-icon-button.is-pending>i{background:#f3bd53;box-shadow:0 0 8px #f3bd5377}
.connection-icon-button.is-connected{border-color:#3aa679;background:#102119;box-shadow:0 0 0 2px #35c98a18,0 8px 24px #0004}
.connection-icon-button.is-connected>i{background:#42d596;box-shadow:0 0 9px #42d59699}

/* El Taller conserva su lienzo de diagrama cuando la conversación comienza. */
body.taskmaster-studio-mode.chat-active #main-content{
  --grid-focus-x:50%;
  --grid-focus-y:44%;
  position:relative;
  isolation:isolate;
  padding-inline:0;
  background-color:#090b11;
  background-image:
    linear-gradient(rgba(145,129,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(145,129,255,.06) 1px,transparent 1px),
    linear-gradient(rgba(145,129,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(145,129,255,.022) 1px,transparent 1px),
    radial-gradient(circle,rgba(169,155,255,.12) 1px,transparent 1.35px);
  background-size:128px 128px,128px 128px,32px 32px,32px 32px,64px 64px;
  background-position:0 0,0 0,0 0,0 0,16px 16px;
  animation:studio-grid-drift 30s linear infinite;
}
body.taskmaster-studio-mode.chat-active #main-content::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle 4px at var(--grid-focus-x) var(--grid-focus-y),rgba(195,185,255,.9) 0 42%,transparent 58%),
    radial-gradient(circle 34px at var(--grid-focus-x) var(--grid-focus-y),transparent 0 77%,rgba(139,124,246,.5) 79%,transparent 84%),
    radial-gradient(ellipse at 50% 115%,rgba(77,53,181,.14),transparent 54%),
    linear-gradient(180deg,rgba(9,11,17,.78) 0,transparent 17%,transparent 78%,rgba(9,11,17,.9) 100%);
  filter:drop-shadow(0 0 9px rgba(139,124,246,.22));
}
body.taskmaster-studio-mode.chat-active .partner-chat-view:not([hidden]){
  position:relative;
  z-index:2;
  background:transparent;
}
@media(max-width:720px){
  body.taskmaster-studio-mode.chat-active #main-content{background-size:96px 96px,96px 96px,24px 24px,24px 24px,48px 48px;animation-duration:36s}
}
@media(prefers-reduced-motion:reduce){
body.taskmaster-studio-mode.chat-active #main-content{animation:none}
}

/* Taskmaster Studio always uses one canvas. The welcome and conversation
   layers are transparent children of the same persistent grid. */
body.taskmaster-studio-mode #main-content{
  --grid-focus-x:50%;
  --grid-focus-y:44%;
  position:relative;
  isolation:isolate;
  padding-inline:0;
  background-color:#090b11;
  background-image:
    linear-gradient(rgba(145,129,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(145,129,255,.06) 1px,transparent 1px),
    linear-gradient(rgba(145,129,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(145,129,255,.022) 1px,transparent 1px),
    radial-gradient(circle,rgba(169,155,255,.12) 1px,transparent 1.35px);
  background-size:128px 128px,128px 128px,32px 32px,32px 32px,64px 64px;
  background-position:0 0,0 0,0 0,0 0,16px 16px;
  animation:none;
}
body.taskmaster-studio-mode #main-content::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle 4px at var(--grid-focus-x) var(--grid-focus-y),rgba(195,185,255,.9) 0 42%,transparent 58%),
    radial-gradient(circle 34px at var(--grid-focus-x) var(--grid-focus-y),transparent 0 77%,rgba(139,124,246,.5) 79%,transparent 84%),
    radial-gradient(ellipse at 50% 115%,rgba(77,53,181,.14),transparent 54%),
    linear-gradient(180deg,rgba(9,11,17,.78) 0,transparent 17%,transparent 78%,rgba(9,11,17,.9) 100%);
  filter:drop-shadow(0 0 9px rgba(139,124,246,.22));
}
body.taskmaster-studio-mode #welcome-view{
  background-color:transparent;
  background-image:none;
  animation:none;
}
body.taskmaster-studio-mode #welcome-view::before,
body.taskmaster-studio-mode #welcome-view::after{display:none}
body.taskmaster-studio-mode #welcome-view,
body.taskmaster-studio-mode .partner-chat-view:not([hidden]){
  position:relative;
  z-index:2;
}

@media (max-width:760px){
  body.taskmaster-studio-mode #main-content{
    background-size:96px 96px,96px 96px,24px 24px,24px 24px,48px 48px;
  }
}

/* Un compositor, una geometria y un solo efecto visual durante todo el Taller. */
body.taskmaster-studio-mode #project-form,
body.taskmaster-studio-mode #partner-message-form{
  box-sizing:border-box;
  width:min(calc(100% - 32px),840px);
  height:137px;
  min-height:137px;
  margin-inline:auto;
  padding:14px 15px 11px;
  overflow:hidden;
  border:1px solid rgba(127,111,220,.66);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(27,28,39,.96),rgba(18,19,28,.95));
  box-shadow:0 22px 80px rgba(0,0,0,.5),0 0 0 1px rgba(139,124,246,.08),0 0 52px rgba(91,69,205,.1);
  backdrop-filter:blur(18px);
}
body.taskmaster-studio-mode #project-form::before,
body.taskmaster-studio-mode #partner-message-form::before{
  content:"";
  position:absolute;
  left:9%;
  right:9%;
  top:0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,#8b7cf6,transparent);
  opacity:.65;
  animation:studio-composer-pulse 4.8s ease-in-out infinite;
}
body.taskmaster-studio-mode #project-form:focus-within,
body.taskmaster-studio-mode #partner-message-form:focus-within{
  border-color:#8b7cf6;
  box-shadow:0 24px 90px rgba(0,0,0,.54),0 0 0 3px rgba(139,124,246,.11),0 0 70px rgba(91,69,205,.17);
}
body.taskmaster-studio-mode #project-form textarea,
body.taskmaster-studio-mode #partner-message-form textarea{
  min-height:60px;
  max-height:220px;
  padding:10px 8px;
}
body.taskmaster-studio-mode #partner-message-form{
  position:relative;
  flex:0 0 auto;
  margin-top:14px;
}
body.taskmaster-studio-mode .partner-chat-view{
  width:min(872px,calc(100% - 48px));
}
body.taskmaster-studio-mode .partner-chat-view>.trust-line{display:none}
@media(max-width:720px){
  body.taskmaster-studio-mode #project-form,
  body.taskmaster-studio-mode #partner-message-form{width:calc(100% - 24px);height:116px;min-height:116px}
}
@media(prefers-reduced-motion:reduce){
  body.taskmaster-studio-mode #project-form::before,
  body.taskmaster-studio-mode #partner-message-form::before{animation:none}
}

/* El historial se desplaza; el compositor del Taller permanece anclado abajo. */
body.taskmaster-studio-mode.chat-active{
  height:100dvh;
  min-height:100dvh;
  overflow:hidden;
}
body.taskmaster-studio-mode.chat-active #main-content{
  height:calc(100dvh - 68px);
  min-height:0;
  overflow:hidden;
}
body.taskmaster-studio-mode.chat-active .partner-chat-view:not([hidden]){
  box-sizing:border-box;
  width:100%;
  max-width:none;
  height:100%;
  min-height:0;
  margin:0;
  padding:20px 0 22px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.taskmaster-studio-mode.chat-active .partner-conversation{
  display:grid;
  grid-template-columns:minmax(24px,1fr) minmax(0,872px) minmax(24px,1fr);
  align-content:start;
  gap:36px 0;
  flex:1 1 auto;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:8px 0 26px;
  width:calc(100vw - 272px);
  max-width:none;
  margin-right:0;
  scrollbar-gutter:auto;
  scrollbar-width:thin;
  scrollbar-color:#3b3d49 transparent;
}
body.taskmaster-studio-mode.chat-active .partner-conversation>.partner-turn{
  grid-column:2;
}
body.taskmaster-studio-mode.chat-active .partner-conversation>.user-turn{
  justify-self:end;
}
body.taskmaster-studio-mode.chat-active .partner-conversation>.assistant-turn{
  justify-self:start;
}
body.taskmaster-studio-mode.chat-active .typing-turn{
  flex:0 0 auto;
  margin:10px 8px 0;
}
body.taskmaster-studio-mode.chat-active .partner-conversation .inline-typing-turn{
  margin:22px 0 6px;
  animation:first-turn-typing-in .28s cubic-bezier(.2,.75,.2,1) both;
}
body.taskmaster-studio-mode.chat-active .partner-chat-view.first-turn-lifting .partner-conversation .user-turn:first-child{
  animation:first-turn-lift .56s cubic-bezier(.18,.76,.2,1) both;
}
@keyframes first-turn-lift{
  from{opacity:.36;transform:translateY(clamp(170px,34vh,390px))}
  to{opacity:1;transform:translateY(0)}
}
@keyframes first-turn-typing-in{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
body.taskmaster-studio-mode.chat-active #chat-attachments{
  flex:0 0 auto;
  width:min(840px,calc(100% - 48px));
  margin:8px auto 0;
}
body.taskmaster-studio-mode.chat-active #partner-message-form{
  position:relative;
  bottom:auto;
  flex:0 0 auto;
  margin-top:14px;
}
@media(max-width:720px){
  body.taskmaster-studio-mode.chat-active .partner-chat-view:not([hidden]){padding:12px 0 12px}
  body.taskmaster-studio-mode.chat-active .partner-conversation{grid-template-columns:12px minmax(0,1fr) 12px}
}
@media(prefers-reduced-motion:reduce){
  body.taskmaster-studio-mode.chat-active .partner-chat-view.first-turn-lifting .partner-conversation .user-turn:first-child,
  body.taskmaster-studio-mode.chat-active .partner-conversation .inline-typing-turn{animation:none}
}
@media(max-width:900px){
  body.taskmaster-studio-mode.chat-active .partner-conversation{width:100vw}
}
/* En el chat general el contenido sigue centrado, pero el scroll pertenece a todo el panel. */
body.chat-active:not(.taskmaster-studio-mode) #main-content{
  padding-right:0;
}
body.chat-active:not(.taskmaster-studio-mode) .partner-chat-view:not([hidden]){
  width:100%;
  max-width:none;
  margin:0;
  padding-inline:0;
}
body.chat-active:not(.taskmaster-studio-mode) .partner-conversation{
  width:100%;
  max-width:none;
  margin:0;
  grid-template-columns:minmax(24px,1fr) minmax(0,1120px) minmax(24px,1fr);
  gap:36px 0;
  scrollbar-gutter:auto;
}
body.chat-active:not(.taskmaster-studio-mode) .partner-conversation>.partner-turn{
  grid-column:2;
}
body.chat-active:not(.taskmaster-studio-mode) .partner-conversation>.assistant-turn{
  width:100%;
}
body.chat-active:not(.taskmaster-studio-mode) .partner-conversation>.user-turn{
  justify-self:end;
}
body.chat-active:not(.taskmaster-studio-mode) #chat-attachments,
body.chat-active:not(.taskmaster-studio-mode) #partner-message-form,
body.chat-active:not(.taskmaster-studio-mode) .partner-chat-view>.trust-line{
  width:min(1040px,calc(100% - 48px));
  margin-inline:auto;
}
body.chat-active:not(.taskmaster-studio-mode) #partner-message-form{
  margin-top:12px;
}
@media(max-width:700px){
  body.chat-active:not(.taskmaster-studio-mode) .partner-conversation{
    grid-template-columns:12px minmax(0,1fr) 12px;
  }
}

.attachment-list{display:block;width:100%;max-width:840px}
.document-tray-heading{display:flex;align-items:center;justify-content:space-between;margin:0 2px 8px;color:#8f929e;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.document-tray-heading strong{font-size:10px}.document-tray-heading small{color:#777b87}
.document-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:210px;overflow:auto;padding-right:3px;scrollbar-gutter:stable}
.document-card{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;border:1px solid #343744;border-radius:12px;background:#151820;color:#d8d9df}
.document-card.attached{border-color:#6559a5;background:#191927}.document-card.failed{border-color:#743c48}
.document-card>b{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#242135;color:#9e91ff}
.document-card-copy{min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left}
.document-card-copy:hover:not(:disabled){filter:none;transform:none}.document-card-copy strong,.document-card-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-card-copy strong{font-size:11px}.document-card-copy small{margin-top:3px;color:#81848f;font-size:9px}
.document-card-actions{display:flex;gap:3px}.document-icon-action{width:26px;height:26px;padding:0;border:1px solid #343744;border-radius:7px;background:#191b23;color:#aaa5ca}
.document-icon-action:hover:not(:disabled){transform:none;border-color:#6559a5}.document-icon-action.danger-action:hover:not(:disabled){border-color:#743c48;background:#352029;color:#ff91a1}
.document-progress{display:block;height:3px;margin-top:6px;overflow:hidden;border-radius:99px;background:#292b35}.document-progress i{display:block;height:100%;border-radius:inherit;background:#8b7cf6;transition:width .16s ease}
.document-inspector{width:min(820px,calc(100% - 28px));max-height:min(82vh,760px);padding:0;overflow:hidden;background:#12141b;border:1px solid #3b3e4b;border-radius:18px;color:#f5f5f8;box-shadow:0 30px 100px #000b}
.document-inspector::backdrop{background:#06070bcc;backdrop-filter:blur(5px)}
.document-inspector header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #292c36}.document-inspector header span{color:#8b7cf6;font-size:9px;font-weight:800;letter-spacing:.12em}.document-inspector h2{margin:4px 0 0;font-size:17px}
.document-inspector-close{width:32px;height:32px;padding:0;border:1px solid #343744;background:#191b23;color:#aeb0ba}
.document-inspector-meta{margin:0;padding:12px 20px;color:#858894;font-size:10px;border-bottom:1px solid #292c36}
.document-inspector pre{margin:0;padding:20px;max-height:60vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:#d8d9df;background:#0d0f15;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}

/* Cuenta personal y administración al pie de la barra lateral. */
.sidebar-account{position:sticky;bottom:-4px;z-index:8;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;margin:12px -4px -8px;padding:12px 4px 4px;border-top:1px solid #242731;background:linear-gradient(180deg,#0a0c11e8 0,#0a0c11 20%)}
.account-identity{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;padding:6px;border:0;border-radius:10px;background:transparent;color:#ececf1;text-align:left}.account-identity:hover:not(:disabled){background:#171922;transform:none;filter:none}.account-avatar{display:grid;place-items:center;width:32px;height:32px;overflow:hidden;border:1px solid #373a45;border-radius:50%;background:linear-gradient(145deg,#30294e,#171922);color:#c9c1ff}.account-avatar img{width:100%;height:100%;object-fit:cover}.account-avatar b{font-size:12px}.account-copy{min-width:0;display:grid;gap:2px}.account-copy strong,.account-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-copy strong{font-size:11px;font-weight:650}.account-copy small{color:#707481;font-size:8px}
.account-settings{position:relative}.account-settings>summary{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;color:#bdc0ca;font-size:16px;cursor:pointer;list-style:none}.account-settings>summary::-webkit-details-marker{display:none}.account-settings[open]>summary,.account-settings>summary:hover{background:#1b1e26;color:#a99cff}.account-settings-menu{position:absolute;right:0;bottom:40px;width:224px;padding:7px;border:1px solid #353844;border-radius:13px;background:#15171e;box-shadow:0 20px 55px #000c}.account-settings-menu button{width:100%;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:8px;padding:9px;border:0;border-radius:9px;background:transparent;color:#e3e4e9;text-align:left}.account-settings-menu button:hover:not(:disabled){background:#22242d;transform:none;filter:none}.account-settings-menu button>span:last-child{display:grid;gap:2px}.account-settings-menu b{font-size:10px}.account-settings-menu small{color:#7b7f8b;font-size:8px}.account-settings-menu .account-logout{color:#f0b3bc}
.sidebar-account.is-signed-out{display:grid;grid-template-columns:minmax(0,1fr) auto;background:linear-gradient(180deg,#0a0c11e8 0,#0a0c11 28%)}.sidebar-account.is-signed-out .account-identity{display:flex;width:max-content;min-width:0;margin:2px 4px;padding:9px 14px;border-radius:999px;background:#07557d;color:#edf8ff}.sidebar-account.is-signed-out .account-identity:hover:not(:disabled){background:#086b9d}.sidebar-account.is-signed-out .account-avatar,.sidebar-account.is-signed-out .account-copy small{display:none}.sidebar-account.is-signed-out .account-copy strong{font-size:12px;font-weight:700}.sidebar-account.is-signed-out .account-settings-menu .account-logout{display:none}
.file-manager{width:min(780px,calc(100% - 28px));max-height:82vh;padding:0;overflow:hidden;border:1px solid #3b3e4b;border-radius:18px;background:#12141b;color:#f5f5f8;box-shadow:0 30px 100px #000b}.file-manager::backdrop{background:#06070bcc;backdrop-filter:blur(5px)}.file-manager>header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #292c36}.file-manager>header span{color:#8b7cf6;font-size:9px;font-weight:800;letter-spacing:.12em}.file-manager h2{margin:4px 0 0;font-size:18px}.file-manager>header button{width:32px;height:32px;padding:0;border:1px solid #343744;background:#191b23;color:#aeb0ba}.file-manager>p{margin:0;padding:13px 20px;color:#858894;font-size:11px;border-bottom:1px solid #292c36}.file-manager-attachments{max-width:none;margin:0;padding:16px 20px 20px;overflow:auto}.file-manager-attachments .document-cards{max-height:55vh}.file-manager-empty{margin:0;padding:26px;text-align:center;color:#777b87;font-size:11px}
@media(max-width:700px){.document-cards{grid-template-columns:1fr}.document-card-actions{gap:1px}}

.chat-chart-dashboard{width:100%;margin:22px 0 8px;padding:16px;border:1px solid #393451;border-radius:20px;background:radial-gradient(circle at 8% 0,#7a66ff18,transparent 34%),linear-gradient(145deg,#15131f,#0f1219);box-shadow:0 24px 70px #05060a73}
.chat-chart-dashboard>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px;padding:0 2px}.chat-chart-dashboard>header div{display:grid;gap:3px}.chat-chart-dashboard>header span{color:#9589ff;font-size:8px;font-weight:850;letter-spacing:.14em}.chat-chart-dashboard>header strong{color:#f5f3ff;font-size:16px}.chat-chart-dashboard>header>b{padding:5px 9px;border:1px solid #51477b;border-radius:99px;background:#211c36;color:#b5aaff;font-size:9px}
.chat-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.chat-chart-card{min-width:0;overflow:hidden;border:1px solid #343747;border-radius:16px;background:linear-gradient(155deg,#1a1924,#11141b);box-shadow:0 14px 36px #07080c59}.chat-chart-card[data-chart-variant="correlation"]{border-color:#31525b}.chat-chart-card[data-chart-variant="composition"]{border-color:#53446b}.chat-chart-card[data-chart-variant="distribution"]{border-color:#554b35}
.chat-chart-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px 16px 9px}.chat-chart-card>header div{display:grid;gap:4px;min-width:0}.chat-chart-card>header span{color:#9589ff;font-size:8px;font-weight:800;letter-spacing:.13em}.chat-chart-card>header strong{overflow:hidden;color:#f4f3fa;font-size:13px;line-height:1.35}.chat-chart-card>header b{flex:0 0 auto;padding:4px 7px;border-radius:99px;background:#292242;color:#aa9fff;font-size:8px;text-transform:uppercase}
.chart-metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 14px;padding:1px;overflow:hidden;border:1px solid #2d303c;border-radius:10px;background:#2d303c;list-style:none}.chart-metric-strip li{min-width:0;display:grid;gap:3px;padding:8px;background:#151820}.chart-metric-strip span,.chart-metric-strip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-metric-strip span{color:#737786;font-size:7px;text-transform:uppercase;letter-spacing:.07em}.chart-metric-strip strong{color:#e5e3ef;font-size:10px}
.chat-chart-canvas{width:100%;height:300px;display:grid;place-items:center;color:#737786;font-size:10px}.chat-chart-card>p{margin:0;padding:0 16px 10px;color:#a4a6b1;font-size:10px;line-height:1.55}.chart-insights{margin:0 16px 13px;padding:9px 11px 9px 25px;border:1px solid #343047;border-radius:10px;background:#181622;color:#c9c4e1;font-size:9px;line-height:1.5}.chart-insights li::marker{color:#8b7cf6}.chat-chart-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-top:1px solid #2a2c37}.chat-chart-card>footer>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777b89;font-size:8px}.chat-chart-card details{position:relative}.chat-chart-card summary{cursor:pointer;color:#a99eff;font-size:9px;list-style:none}.chat-chart-table{position:absolute;right:0;bottom:24px;z-index:4;width:min(420px,70vw);max-height:240px;overflow:auto;border:1px solid #3b3e4b;border-radius:10px;background:#11131a;box-shadow:0 18px 50px #000a}.chat-chart-table table{width:100%;border-collapse:collapse;font-size:10px}.chat-chart-table th,.chat-chart-table td{padding:8px 10px;border-bottom:1px solid #292c36;text-align:left}.chat-chart-table th{position:sticky;top:0;background:#1b1928;color:#a99eff}.chat-chart-table td{color:#d7d8df}
@media(max-width:900px){.chat-chart-grid{grid-template-columns:1fr}.chat-chart-dashboard{padding:12px}.chat-chart-canvas{height:300px}}
@media(max-width:700px){.chat-chart-dashboard>header{align-items:flex-start;flex-direction:column}.chart-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-chart-canvas{height:270px}.chat-chart-card>footer{align-items:flex-start;flex-direction:column}.chat-chart-table{right:auto;left:0;width:min(82vw,420px)}}

/* El selector de adjuntos debe escapar del marco redondeado del compositor. */
body.taskmaster-studio-mode #project-form,
body.taskmaster-studio-mode #partner-message-form{overflow:visible;z-index:100}
