.fusion-layout { max-width: 1320px; display: grid; grid-template-columns: minmax(600px,1fr) 390px; gap: 18px; }
.fusion-stage { position: relative; overflow: hidden; min-height: 570px; background: radial-gradient(circle at 50% 46%,#6740c966,transparent 31%),linear-gradient(145deg,#111738,#3d206f); }
.fusion-stage::before { content:''; position:absolute; inset:-50%; background:repeating-conic-gradient(#fff0 0 14deg,#61eeff0b 14deg 16deg); animation:fusionSpin 28s linear infinite; }
.fusion-stage > * { position: relative; z-index: 1; }
.fusion-stage .section-head h2 { margin-top:5px; color:white; }
.fusion-slots { grid-template-columns:1fr 75px 1fr; }
.fusion-slot { min-height:280px; border-color:#7befff55; background:#070b2566; }
.fusion-slot.filled { border-color:#83f3ff; box-shadow:inset 0 0 35px #47dcf322,0 0 24px #47dcf322; }
.fusion-slot .gloob-card { width:100%; max-width:250px; }
.select-prompt { color:#8c97c4; text-align:center; display:grid; gap:6px; }
.select-prompt span { font:800 55px 'Baloo 2'; color:#65eafa; }
.select-prompt b { font-size:11px; letter-spacing:1px; }
.fusion-plus { position:relative; display:grid; place-items:center; }
.fusion-plus span { position:relative; z-index:2; display:grid; place-items:center; width:55px; height:55px; border-radius:50%; background:#111638; border:3px solid #9bf229; color:#9bf229; font:900 35px 'Baloo 2'; box-shadow:0 0 26px #9bf22966; }
.fusion-plus i { position:absolute; width:70px; height:70px; border:2px dashed #75edff; border-radius:50%; animation:fusionSpin 5s linear infinite; }
.fusion-formula { display:flex; align-items:center; justify-content:center; gap:9px; margin:12px; color:#8993bd; font:800 10px monospace; }
.fusion-formula b { color:#86f1ff; padding:5px 8px; border-radius:8px; background:#0b102c; }
.fusion-actions { margin-top:8px; }
.fusion-actions .cost { color:white; }
.fusion-sidebar { display:grid; grid-template-rows:minmax(280px,1fr) minmax(210px,.75fr); gap:14px; min-height:570px; max-height:calc(100vh - 220px); }
.fusion-sidebar .panel { min-height:0; overflow:hidden; padding:15px; }
.side-title { display:flex; align-items:center; justify-content:space-between; }
.side-title h2 { margin:0; font:800 24px 'Baloo 2'; }
.side-title span { border-radius:10px; background:#eceafb; color:#7251d0; padding:5px 9px; font-weight:900; }
.fusion-collection { height:calc(100% - 40px); overflow:auto; display:grid; grid-template-columns:1fr 1fr; align-content:start; gap:9px; padding:5px 3px 12px; scrollbar-width:none; }
.fusion-collection::-webkit-scrollbar { display:none; }
.fusion-collection .gloob-card { padding:7px; border-radius:16px; }
.fusion-collection .gloob-preview { height:82px; }
.fusion-collection .gloob-card h3 { font-size:13px; }
.fusion-collection .gloob-card small,.fusion-collection .stats { display:none; }
.fusion-history { overflow:auto!important; scrollbar-width:none; }
.history-row { width:100%; display:grid; grid-template-columns:88px 20px 1fr; align-items:center; gap:7px; margin-top:8px; padding:8px; border-radius:14px; background:#f0f2fb; text-align:left; }
.history-inputs { display:flex; align-items:center; }
.history-inputs .gloob-svg,.history-result .gloob-svg { width:42px; height:42px; }
.history-inputs b { font-size:10px; }
.history-result { display:grid; grid-template-columns:45px 1fr; align-items:center; }
.history-result .gloob-svg { grid-row:1/3; }
.history-result b { font-size:11px; }
.history-result small { color:#818aa9; font-size:8px; }

.modal-card:has(.fusion-warning) { width:min(650px,92vw); }
.fusion-warning { text-align:center; }
.warning-icon { display:grid; place-items:center; width:52px; height:52px; margin:0 auto 9px; border-radius:50%; background:#ff4f62; color:white; box-shadow:0 5px 0 #ae2639; font:900 32px 'Baloo 2'; }
.fusion-warning h2 { color:#c92d49; }
.fusion-warning > p { color:#697393; }
.warning-pair { display:grid; grid-template-columns:1fr 35px 1fr; align-items:center; gap:8px; margin:15px 0; }
.warning-pair > div { display:grid; place-items:center; padding:9px; border-radius:17px; background:#f1f3fb; }
.warning-pair .gloob-svg { width:100px; height:90px; }
.warning-pair small { width:100%; overflow:hidden; text-overflow:ellipsis; color:#8a93af; font:9px monospace; }
.warning-pair > span { font:900 30px 'Baloo 2'; }
.warning-cost { display:flex; justify-content:center; gap:9px; margin:12px; }
.warning-cost span { border-radius:10px; padding:7px 11px; background:#191e43; color:white; font-weight:900; }
.danger-confirm { width:100%; padding:13px; border-radius:15px; background:linear-gradient(#ff6a7d,#e33551); color:white; border:2px solid #ff9ca8; box-shadow:0 6px 0 #a82037; font-weight:900; }

.fusion-cinematic { position:fixed; z-index:300; inset:0; overflow:hidden; background:radial-gradient(circle,#7139bb,#121531 58%); color:white; }
.fusion-space { position:absolute; inset:0; display:grid; place-items:center; align-content:center; }
.fusion-space::before { content:''; position:absolute; width:70vmin; height:70vmin; border:2px solid #69efff44; border-radius:50%; box-shadow:0 0 70px #884dff88,inset 0 0 70px #884dff55; animation:coreBreath 1.2s ease-in-out infinite; }
.cinematic-title { position:absolute; top:6%; display:grid; text-align:center; gap:4px; letter-spacing:2px; }
.cinematic-title span { color:#96a1ce; font-size:10px; }
.cinematic-title b { font:900 25px 'Baloo 2'; color:#82f4ff; text-shadow:0 0 18px #42e5ff; }
.fusion-orbit { position:relative; width:min(720px,80vw); display:grid; grid-template-columns:1fr 150px 1fr; align-items:center; }
.fusion-parent { display:grid; place-items:center; animation:parentOrbit 1.3s ease-in-out infinite alternate; }
.fusion-parent.parent-b { animation-direction:alternate-reverse; }
.fusion-parent .gloob-svg { width:210px; height:190px; filter:drop-shadow(0 0 24px #61edff); }
.fusion-core { position:relative; width:130px; height:130px; border-radius:50%; display:grid; place-items:center; border:5px solid #b6ff37; box-shadow:0 0 35px #a8ff37,0 0 90px #58eaff; animation:coreSpin 1s linear infinite; }
.fusion-core i { position:absolute; inset:12px; border:4px dashed #6df1ff; border-radius:50%; }
.fusion-core b { font-size:50px; color:white; text-shadow:0 0 20px white; }
.fusion-progress { width:min(500px,70vw); height:14px; margin-top:35px; border:3px solid white; border-radius:12px; overflow:hidden; background:#10132d; }
.fusion-progress i { display:block; height:100%; background:linear-gradient(90deg,#55e9ef,#9bf32d,#ff4dc4); animation:fusionLoad 2.5s linear forwards; }
.fusion-particles i { --angle:calc(var(--i)*20deg); position:absolute; left:50%; top:50%; width:6px; height:6px; border-radius:50%; background:#baff3c; box-shadow:0 0 12px #baff3c; transform:rotate(var(--angle)) translateX(16vmin); animation:particleOrbit 2s linear infinite; animation-delay:calc(var(--i)*-0.08s); }
.fusion-created { position:absolute; opacity:0; pointer-events:none; text-align:center; display:grid; place-items:center; transform:scale(.5); }
.fusion-created .fusion-new { position:relative; z-index:2; width:260px; height:230px; }
.fusion-created h2 { font:900 43px 'Baloo 2'; margin:4px; color:#baff34; text-shadow:0 4px 0 #293617; }
.fusion-created p { margin:0 0 8px; }
.fusion-created code { padding:5px 9px; border-radius:8px; background:#0c1028; color:#7ff2ff; }
.fusion-created button { margin-top:14px; }
.new-aura { position:absolute; width:320px; height:320px; border-radius:50%; background:repeating-conic-gradient(#fff6 0 5deg,transparent 5deg 15deg); animation:fusionSpin 10s linear infinite; }
.fusion-cinematic.resolved .fusion-orbit,.fusion-cinematic.resolved .fusion-progress,.fusion-cinematic.resolved .cinematic-title { animation:collapseCore .45s forwards; }
.fusion-cinematic.resolved .fusion-created { pointer-events:auto; animation:resultReveal .65s .25s cubic-bezier(.2,1.4,.4,1) forwards; }
.fusion-cinematic.leaving { animation:cinematicOut .35s forwards; }
.modal-card:has(.history-detail) { width:min(790px,94vw); }
.history-detail { text-align:center; }
.history-lineage { display:grid; grid-template-columns:1fr 25px 1fr 30px 1fr; align-items:center; gap:7px; margin:16px 0; }
.history-lineage > div { display:grid; place-items:center; min-width:0; border-radius:16px; padding:8px; background:#f0f2fb; }
.history-lineage .result-node { background:#e8ffe1; box-shadow:0 0 0 3px #8be320; }
.history-lineage .gloob-svg { width:110px; height:100px; }
.history-lineage code { max-width:100%; overflow:hidden; text-overflow:ellipsis; font-size:8px; }
@keyframes fusionSpin { to { transform:rotate(360deg); } }
@keyframes coreBreath { 50% { transform:scale(1.08); opacity:.7; } }
@keyframes coreSpin { to { transform:rotate(360deg); } }
@keyframes parentOrbit { to { transform:translateY(-18px) scale(1.08); filter:brightness(1.25); } }
@keyframes particleOrbit { to { transform:rotate(calc(var(--angle) + 360deg)) translateX(33vmin); opacity:0; } }
@keyframes fusionLoad { from { width:0; } to { width:100%; } }
@keyframes collapseCore { to { transform:scale(0); opacity:0; } }
@keyframes resultReveal { to { opacity:1; transform:scale(1); } }
@keyframes cinematicOut { to { opacity:0; transform:scale(1.08); } }
@media(max-width:900px) {
  .fusion-layout { grid-template-columns:1fr 310px; }
  .fusion-sidebar { max-height:calc(100vh - 190px); }
  .fusion-slot { min-height:220px; }
  .fusion-parent .gloob-svg { width:160px; height:145px; }
}
.fusion-vfx{position:absolute;z-index:0;width:min(580px,72vmin);height:min(580px,72vmin);object-fit:contain;opacity:.26;filter:drop-shadow(0 0 45px #70efff);animation:fusionVfxPulse 1.2s ease-in-out infinite alternate;pointer-events:none}.fusion-orbit,.fusion-progress,.cinematic-title,.fusion-created{position:relative;z-index:2}@keyframes fusionVfxPulse{from{transform:scale(.82) rotate(-8deg);opacity:.18}to{transform:scale(1.08) rotate(8deg);opacity:.42}}
/* Persistent server-side fusion jobs */
.fusion-running-banner,.fusion-job-live{display:flex;align-items:center;gap:12px;border:2px solid #9d65ff;background:linear-gradient(110deg,#241942,#392064);color:#fff;border-radius:18px;padding:13px 16px;margin:0 0 18px;box-shadow:0 8px 0 #171027}
.fusion-running-banner{justify-content:space-between;flex-wrap:wrap}.fusion-running-banner span{color:#d9cff4;font-size:.86rem}
.fusion-job-live i{width:18px;height:18px;border-radius:50%;border:3px solid #ffffff55;border-top-color:#7dea10;animation:fusion-job-spin .8s linear infinite}.fusion-job-live div{display:grid}.fusion-job-live small{color:#cfc4ef;letter-spacing:.08em}
.fusion-reserved{position:relative;filter:saturate(.35);opacity:.72;pointer-events:none}.fusion-reserved>.gloob-card{filter:grayscale(.4)}.fusion-reserved>span{position:absolute;left:8%;right:8%;top:45%;z-index:5;text-align:center;background:#241942;color:#dfff70;border:2px solid #9d65ff;border-radius:999px;padding:7px;font-weight:900;letter-spacing:.06em}.fusion-reserved>small{display:block;text-align:center;color:#8a71b7;margin-top:6px;font-weight:800}
@keyframes fusion-job-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.fusion-job-live i{animation:none}}
.fusion-ai-status{display:flex;align-items:center;gap:11px;margin:0 0 15px;padding:10px 13px;border:2px solid #6dca19;border-radius:15px;background:#efffe2;color:#28530d}.fusion-ai-status.blocked{border-color:#ff6680;background:#ffe8ed;color:#8f1d38}.fusion-ai-status>i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#76d91c;color:#fff;font-style:normal;font-weight:1000}.fusion-ai-status.blocked>i{background:#e54060}.fusion-ai-status>div{display:grid}.fusion-ai-status small{font-size:10px;opacity:.78}.fusion-progress-dialog{text-align:center}.fusion-progress-dialog>p{color:#697393}.fusion-progress-dialog>small{display:block;margin-top:12px;color:#7c85a4}.fusion-live-progress{overflow:hidden;height:14px;margin:18px 0;border-radius:12px;background:#e2e6f1}.fusion-live-progress i{display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#24d4d0,#8bea1e,#9a5bed);animation:fusion-live-scan 1.4s ease-in-out infinite}.fusion-live-status{display:block;color:#633fc9}@keyframes fusion-live-scan{0%{transform:translateX(-110%)}100%{transform:translateX(270%)}}@media(prefers-reduced-motion:reduce){.fusion-live-progress i{width:100%;animation:none}}
