/* Ultron: red galaxy */
body.ultron{--bg:#12030A;--panel:#1B0610;--card:#270A15;--line:#4A1424;--text:#FBE9EC;--dim:#C48A96;
  --accent:#FF2D4B;--accent2:#FF7A3D;--glow:rgba(255,45,75,.55);--err:#FFB4BE;background:var(--bg)}
.galaxy{position:fixed;inset:0;z-index:-1;background:
  radial-gradient(1.2px 1.2px at 12% 18%,#fff9 50%,transparent 51%),radial-gradient(1px 1px at 33% 72%,#ffd3d9 50%,transparent 51%),
  radial-gradient(1.4px 1.4px at 58% 28%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 81% 64%,#ffc2cb 50%,transparent 51%),
  radial-gradient(1.2px 1.2px at 90% 12%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 22% 90%,#fff 50%,transparent 51%),
  radial-gradient(1px 1px at 70% 88%,#ffd3d9 50%,transparent 51%),radial-gradient(1.3px 1.3px at 45% 50%,#fff7 50%,transparent 51%),
  radial-gradient(ellipse 60% 45% at 20% 25%,rgba(255,45,75,.28),transparent 70%),
  radial-gradient(ellipse 55% 50% at 85% 75%,rgba(190,20,60,.30),transparent 70%),
  radial-gradient(ellipse 80% 30% at 50% 55%,rgba(255,110,60,.12),transparent 70%),
  linear-gradient(160deg,#1A0410,#0B0206 70%);background-size:300px 300px,260px 260px,340px 340px,280px 280px,360px 360px,240px 240px,320px 320px,200px 200px,auto,auto,auto,auto;
  animation:drift 90s linear infinite}
@keyframes drift{to{background-position:300px 150px,-260px 130px,340px -170px,-280px -140px,360px 120px,-240px -120px,320px 160px,-200px 100px,0 0,0 0,0 0,0 0}}
@media (prefers-reduced-motion: reduce){.galaxy{animation:none}}
.uapp{display:flex;flex-direction:column;height:100%;max-width:900px;margin:0 auto}
.ubar{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--line);background:rgba(18,3,10,.6);backdrop-filter:blur(6px)}
.ubrand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.34em;font-size:15px;color:#fff;text-shadow:0 0 12px var(--glow)}
.ubar-right{display:flex;align-items:center;gap:8px}
.lane{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:3px 10px;color:var(--dim)}
.lane.up{color:#7CFFB2;border-color:#1F6B46}.lane.down{color:var(--err);border-color:#7A1F34}
.ucore{position:relative;border-radius:50%;display:grid;place-items:center;flex:none;width:26px;height:26px}
.ucore span{width:42%;height:42%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff,var(--accent) 45%,#7A0A22);box-shadow:0 0 18px var(--glow),0 0 42px var(--glow)}
.ucore::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--accent);opacity:.8;box-shadow:0 0 22px var(--glow),inset 0 0 18px var(--glow)}
.ucore.huge{width:132px;height:132px;animation:breathe 3.2s ease-in-out infinite}
.ucore.busy span{animation:pulse .7s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){.ucore.huge,.ucore.busy span{animation:none}}
.uempty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center}
.uempty h2{margin:14px 0 0;font-size:26px;text-shadow:0 0 18px var(--glow)}
.uthread{flex:1;overflow:auto;padding:24px 18px 8px;display:none}
.uthread.on{display:block}
.uthread .msg{max-width:760px}
.uthread .msg.user .bubble{background:#3A0E1E;border-color:#6B1D36}
.uthread .msg.bot .text{white-space:pre-wrap;word-wrap:break-word}
.acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.act{font-size:12px;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:2px 10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.body.asking .text{box-shadow:-3px 0 0 var(--accent);padding-left:10px}
body.ultron .primary,body.ultron .send{color:#fff;box-shadow:0 0 14px var(--glow)}
body.ultron .sheet{background:rgba(10,1,5,.7)}
.btns{display:flex;flex-wrap:wrap;gap:8px}
.probe{list-style:none;margin:0;padding:0;font-size:13px}
.probe li{padding:4px 0;border-bottom:1px solid var(--line)}
.probe .ok{color:#7CFFB2}.probe .no{color:var(--err)}

.uimg{display:block;max-width:100%;width:min(420px,100%);border-radius:12px;margin-top:8px;border:1px solid var(--line)}

.utabs{display:flex;gap:6px;padding:8px 18px 0}
.utab{background:none;border:1px solid var(--line);border-bottom:none;border-radius:10px 10px 0 0;color:var(--dim);padding:6px 16px;cursor:pointer}
.utab.on{color:#fff;background:var(--card);box-shadow:0 0 12px var(--glow)}
a.utab{text-decoration:none;display:inline-block}     /* v1.4.14: the link over to Ultron Core v2's own tab */
.ucode{flex:1;overflow:auto;padding:14px 18px}
.ucode-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.codeform{display:flex;gap:8px;margin:10px 0;align-items:stretch}
.codeform textarea{flex:1;resize:vertical}
.ucode-cols{display:grid;grid-template-columns:200px 1fr;gap:12px}
@media (max-width:640px){.ucode-cols{grid-template-columns:1fr}}
.tasklist{list-style:none;margin:0;padding:0;font-size:13px}
.tasklist li{padding:6px 8px;border:1px solid var(--line);border-radius:8px;margin-bottom:6px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tasklist li.on{border-color:var(--accent)}
.tasklist .st{font-size:11px;color:var(--dim)}
.tasklog .ent{border-left:3px solid var(--line);padding:4px 10px;margin-bottom:8px}
.tasklog .ent.code{border-color:var(--accent2)}.tasklog .ent.run{border-color:#1F6B46}.tasklog .ent.error{border-color:#FF2D4B}.tasklog .ent.done{border-color:#7CFFB2}
.tasklog .k{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--dim)}
.tasklog pre{margin:2px 0 0;white-space:pre-wrap;word-wrap:break-word;font-size:12px;max-height:280px;overflow:auto}
.steps{padding-left:18px}
