/* ============ PIPELINE EXPERIENCE ============ */
:root{
  --pl-bg:#08051a;
  --pl-bg-2:#0d0723;
  --pl-grid:rgba(149,117,205,.06);
  --pl-grid-2:rgba(149,117,205,.14);
  --pl-line:rgba(149,117,205,.25);
  --pl-line-hot:#6BD5CB;
  --pl-line-data:#9575CD;
  --pl-bone:#F4EFE6;
  --pl-mut:rgba(244,239,230,.55);
  --pl-mono:'JetBrains Mono', ui-monospace, monospace;
}

.pipeline{
  position:fixed;inset:0;z-index:1000;display:none;
  background:var(--pl-bg);color:var(--pl-bone);
  font-family:'Inter',sans-serif;
  overflow:hidden auto;opacity:0;transition:opacity .55s cubic-bezier(.2,.8,.2,1);
  scrollbar-width:thin;scrollbar-color:rgba(149,117,205,.4) transparent;
}
.pipeline::-webkit-scrollbar{width:6px}
.pipeline::-webkit-scrollbar-thumb{background:rgba(149,117,205,.4);border-radius:3px}
.pipeline.open{display:block;opacity:1}
.pipeline.open{min-height:100vh}

/* grid background */
.pl-grid{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(var(--pl-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--pl-grid) 1px, transparent 1px),
    linear-gradient(var(--pl-grid-2) 1px, transparent 1px),
    linear-gradient(90deg, var(--pl-grid-2) 1px, transparent 1px);
  background-size:32px 32px, 32px 32px, 160px 160px, 160px 160px;
  mask-image:radial-gradient(ellipse 90% 80% at 50% 50%, #000 30%, transparent 95%);
  -webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 50%, #000 30%, transparent 95%);
}
.pl-vignette{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 50% 30%, rgba(45,26,94,.4), transparent 70%);
}

/* canvas for cables */
.pl-cables{position:absolute;inset:0;z-index:1;pointer-events:none;width:100%;height:100%}

/* top bar */
.pl-bar{
  position:absolute;top:0;left:0;right:0;z-index:8;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px;
  font-family:'Lexend',sans-serif;font-size:12px;letter-spacing:.04em;
  color:var(--pl-mut);font-weight:500;
  background:linear-gradient(180deg, rgba(8,5,26,.92), transparent);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.pl-bar-left{display:flex;align-items:center;gap:14px}
.pl-bar-left .mark{width:24px;height:24px}
.pl-bar-left .sep{opacity:.4}
.pl-bar-left .file{color:var(--pl-bone);text-transform:none;letter-spacing:0;font-size:12px}

.pl-bar-right{display:flex;align-items:center;gap:18px}
.pl-bar-right .pill{
  display:flex;align-items:center;gap:8px;
  padding:6px 10px;border:1px solid rgba(244,239,230,.12);border-radius:999px;
}
.pl-bar-right .dot{width:6px;height:6px;border-radius:50%;background:#6BD5CB;box-shadow:0 0 8px #6BD5CB;animation:pl-blink 1.6s ease-in-out infinite}
@keyframes pl-blink{50%{opacity:.4}}
.pl-icon-btn{
  width:32px;height:32px;border-radius:50%;background:rgba(244,239,230,.04);
  border:1px solid rgba(244,239,230,.12);color:var(--pl-bone);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  transition:all .25s;
}
.pl-icon-btn:hover{background:rgba(244,239,230,.1);border-color:rgba(244,239,230,.3)}

.pl-cursor-tag{display:none}

/* progress rail (top under bar) */
.pl-progress{
  position:absolute;top:60px;left:24px;right:24px;z-index:7;
  display:flex;align-items:center;gap:0;
}
.pl-prog-step{
  flex:1;display:flex;align-items:center;gap:10px;
  font-family:'Lexend',sans-serif;font-size:11px;letter-spacing:.06em;
  color:rgba(244,239,230,.4);font-weight:500;
  transition:color .4s;
}
.pl-prog-step .dot{
  width:10px;height:10px;border-radius:50%;border:1.5px solid rgba(244,239,230,.3);
  background:transparent;transition:all .4s cubic-bezier(.2,.8,.2,1);
  flex-shrink:0;
}
.pl-prog-step.done .dot{background:#6BD5CB;border-color:#6BD5CB;box-shadow:0 0 12px rgba(107,213,203,.6)}
.pl-prog-step.current{color:var(--pl-bone)}
.pl-prog-step.current .dot{background:#9575CD;border-color:#9575CD;box-shadow:0 0 14px rgba(149,117,205,.7);animation:pl-pulse 1.5s ease-in-out infinite}
.pl-prog-step.done{color:rgba(107,213,203,.7)}
@keyframes pl-pulse{50%{transform:scale(1.3)}}
.pl-prog-step .line{flex:1;height:1px;background:repeating-linear-gradient(90deg, rgba(244,239,230,.15) 0 4px, transparent 4px 8px);margin:0 6px}
.pl-prog-step.done .line{background:#6BD5CB;opacity:.5}

/* nodes container */
.pl-canvas{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:center;
  padding:120px 24px 40px;
  min-height:calc(100vh - 280px);
}
.pl-nodes{
  position:relative;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  width:100%;max-width:1320px;
}
.pl-node{
  position:relative;flex:1;max-width:230px;min-width:140px;
  background:linear-gradient(180deg, rgba(45,26,94,.5), rgba(13,7,35,.85));
  border:1px solid rgba(149,117,205,.25);
  border-radius:16px;padding:16px;
  display:flex;flex-direction:column;gap:8px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  transition:all .55s cubic-bezier(.2,.8,.2,1);
  cursor:pointer;
  box-shadow:0 12px 30px -10px rgba(0,0,0,.5);
}
.pl-node.idle{opacity:.45;filter:saturate(.5)}
.pl-node.active{
  border-color:#9575CD;
  box-shadow:0 0 0 1px rgba(149,117,205,.5), 0 20px 60px -10px rgba(149,117,205,.5), inset 0 0 30px rgba(149,117,205,.06);
  transform:translateY(-4px);
}
.pl-node.done{
  border-color:rgba(107,213,203,.45);
  background:linear-gradient(180deg, rgba(77,182,172,.18), rgba(13,7,35,.85));
}
.pl-node.done .pl-node-status{color:#6BD5CB}
.pl-node-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pl-node-tag{
  font-family:'Lexend',sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--pl-mut);font-weight:500;
}
.pl-node-status{
  font-family:var(--pl-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;
  display:flex;align-items:center;gap:5px;color:var(--pl-mut);
}
.pl-node-status .pulse{width:6px;height:6px;border-radius:50%;background:currentColor}
.pl-node.active .pl-node-status{color:#9575CD}
.pl-node.active .pl-node-status .pulse{animation:pl-blink 1s ease-in-out infinite}
.pl-node-title{
  font-family:'Lexend',sans-serif;font-weight:400;font-size:18px;letter-spacing:-.01em;
  color:var(--pl-bone);margin-top:4px;
}
.pl-node-val{
  font-family:'Inter',sans-serif;font-size:12px;color:rgba(244,239,230,.85);
  word-break:break-word;line-height:1.4;min-height:14px;
  padding-top:6px;border-top:1px dashed rgba(149,117,205,.25);
  margin-top:auto;
}
.pl-node-val.empty{color:rgba(244,239,230,.25)}
.pl-node-val.empty::before{content:"Esperando…";font-style:italic}

/* node ports (the dots on each side) */
.pl-port{
  position:absolute;top:50%;width:14px;height:14px;border-radius:50%;
  background:var(--pl-bg);border:2px solid rgba(149,117,205,.5);
  transform:translateY(-50%);z-index:3;
  transition:all .4s;
}
.pl-port.in{left:-7px}
.pl-port.out{right:-7px}
.pl-node.active .pl-port,.pl-node.done .pl-port{border-color:#6BD5CB;box-shadow:0 0 10px rgba(107,213,203,.6)}

/* ============ DESK / BOTTOM PANEL ============ */
.pl-desk{
  position:sticky;left:0;right:0;bottom:0;z-index:4;
  background:linear-gradient(180deg, transparent, rgba(8,5,26,.95) 12%);
  display:grid;grid-template-columns:340px 1fr 360px;gap:0;
  padding:24px 24px 20px;
}

/* feed: tarjeta lateral cálida */
.pl-term{
  background:linear-gradient(180deg, rgba(45,26,94,.4), rgba(13,7,35,.85));
  border:1px solid rgba(149,117,205,.22);
  border-radius:16px;
  padding:18px 20px;
  font-family:'Inter',sans-serif;font-size:13px;line-height:1.55;
  color:rgba(244,239,230,.85);
  overflow:hidden;display:flex;flex-direction:column;
  height:260px;
}
.pl-term-head{
  display:flex;align-items:center;gap:8px;
  padding-bottom:12px;margin-bottom:10px;
  border-bottom:1px solid rgba(149,117,205,.2);
  font-family:'Lexend',sans-serif;font-size:14px;font-weight:500;color:var(--pl-bone);
  letter-spacing:-.01em;
}
.pl-term-head .lights{display:flex;gap:6px;margin-left:auto}
.pl-term-head .lights span{width:6px;height:6px;border-radius:50%;background:rgba(149,117,205,.4)}
.pl-term-head .lights span:nth-child(1){background:#6BD5CB;animation:pl-blink 1.6s infinite}
.pl-term-body{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(149,117,205,.4) transparent}
.pl-term-body::-webkit-scrollbar{width:4px}
.pl-term-body::-webkit-scrollbar-thumb{background:rgba(149,117,205,.4);border-radius:2px}
.pl-term-line{display:flex;gap:10px;opacity:0;animation:pl-fadein .35s forwards;align-items:flex-start;padding:6px 0}
.pl-term-line .ts{display:none}
.pl-term-line .arr{color:#6BD5CB;flex-shrink:0;margin-top:2px;font-size:11px}
.pl-term-line.ok .arr::before{content:"✓"}
.pl-term-line.dim .arr::before{content:"·";color:rgba(149,117,205,.5)}
.pl-term-line.warn .arr::before{content:"!";color:#FEBC2E}
.pl-term-line .msg{color:rgba(244,239,230,.85)}
.pl-term-line.dim .msg{color:rgba(244,239,230,.55);font-style:italic}
@keyframes pl-fadein{to{opacity:1}}

/* center: stage prompt */
.pl-stage{
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  padding:0 24px;text-align:center;position:relative;
}
.pl-stage-eyebrow{
  font-family:'Lexend',sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:#6BD5CB;margin-bottom:10px;font-weight:500;
  display:flex;align-items:center;gap:8px;
}
.pl-stage-eyebrow .num{
  width:22px;height:22px;border-radius:50%;border:1px solid #6BD5CB;
  display:flex;align-items:center;justify-content:center;font-size:10px;
}
.pl-stage h2{
  font-family:'Lexend',sans-serif;font-weight:300;
  font-size:clamp(22px, 2.4vw, 30px);line-height:1.15;letter-spacing:-.015em;
  color:var(--pl-bone);margin-bottom:10px;text-wrap:balance;padding-bottom:.08em;
}
.pl-stage h2 .hl{
  background:linear-gradient(110deg, #6BD5CB, #B8A3DD);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-style:italic;font-weight:300;display:inline-block;padding-right:.06em;
}
.pl-stage .sub{
  font-size:12px;color:var(--pl-mut);font-weight:300;margin-bottom:18px;
}
.pl-stage-body{width:100%;max-width:540px}

/* stage transitions */
.pl-step{display:none;animation:pl-in .55s cubic-bezier(.2,.8,.2,1) both}
.pl-step.active{display:block}
@keyframes pl-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* trigger chips */
.pl-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pl-chip{
  font-family:'Lexend',sans-serif;font-weight:400;font-size:13px;
  padding:9px 14px;border-radius:999px;
  background:rgba(244,239,230,.04);border:1px solid rgba(244,239,230,.18);color:var(--pl-bone);
  cursor:pointer;transition:all .3s cubic-bezier(.2,.8,.2,1);
  display:inline-flex;align-items:center;gap:7px;
}
.pl-chip .glyph{font-size:13px;color:#6BD5CB}
.pl-chip:hover{background:rgba(149,117,205,.18);border-color:#B8A3DD;transform:translateY(-1px)}
.pl-chip.selected{background:#6BD5CB;color:#0d0723;border-color:#6BD5CB;box-shadow:0 8px 24px -6px rgba(107,213,203,.55)}
.pl-chip.selected .glyph{color:#0d0723}

/* form inputs */
.pl-form{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.pl-row{display:flex;gap:10px}
.pl-input{
  flex:1;font-family:'Inter',sans-serif;font-size:14px;font-weight:400;
  background:rgba(13,7,35,.6);border:1px solid rgba(149,117,205,.3);border-radius:10px;
  color:var(--pl-bone);padding:12px 16px;outline:none;
  transition:all .3s;
}
.pl-input::placeholder{color:rgba(244,239,230,.3)}
.pl-input:focus{border-color:#6BD5CB;background:rgba(13,7,35,.85);box-shadow:0 0 0 3px rgba(107,213,203,.1)}

/* schedule slots */
.pl-slots{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;max-width:540px;margin:0 auto}
.pl-slot{
  background:rgba(244,239,230,.04);border:1px solid rgba(244,239,230,.14);
  border-radius:10px;padding:10px 4px;cursor:pointer;
  transition:all .3s cubic-bezier(.2,.8,.2,1);
  display:flex;flex-direction:column;align-items:center;gap:2px;position:relative;overflow:hidden;
}
.pl-slot:hover{border-color:#6BD5CB;transform:translateY(-2px);background:rgba(107,213,203,.08)}
.pl-slot.selected{background:#6BD5CB;border-color:#6BD5CB;color:#0d0723}
.pl-slot.disabled{opacity:.25;cursor:not-allowed}
.pl-slot.disabled:hover{transform:none;border-color:rgba(244,239,230,.14);background:rgba(244,239,230,.04)}
.pl-slot .dow{font-family:'Lexend',sans-serif;font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.75;font-weight:500}
.pl-slot .num{font-family:'Lexend',sans-serif;font-size:18px;font-weight:300}
.pl-slot .badge{position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:#6BD5CB;opacity:0}
.pl-slot:not(.disabled) .badge{opacity:.8;animation:pl-blink 2s infinite}
.pl-slot.selected .badge{background:#0d0723}

.pl-times{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px;
  opacity:0;max-height:0;overflow:hidden;transition:all .5s cubic-bezier(.2,.8,.2,1)}
.pl-times.show{opacity:1;max-height:80px}
.pl-time{
  font-family:'Inter',sans-serif;font-size:13px;font-weight:500;
  padding:8px 14px;border-radius:999px;
  background:rgba(244,239,230,.04);border:1px solid rgba(244,239,230,.18);color:var(--pl-bone);
  cursor:pointer;transition:all .3s;
}
.pl-time:hover{background:rgba(149,117,205,.18);border-color:#B8A3DD}
.pl-time.selected{background:#9575CD;color:#0d0723;border-color:#9575CD}

/* notify toggles */
.pl-toggles{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.pl-toggle{
  display:flex;align-items:center;gap:10px;
  padding:10px 16px;border-radius:12px;
  background:rgba(13,7,35,.6);border:1px solid rgba(149,117,205,.3);
  cursor:pointer;transition:all .3s;
  font-family:var(--pl-mono);font-size:11px;color:var(--pl-bone);text-transform:uppercase;letter-spacing:.1em;
}
.pl-toggle:hover{border-color:#B8A3DD}
.pl-toggle .sw{width:28px;height:16px;border-radius:999px;background:rgba(244,239,230,.15);position:relative;transition:background .3s}
.pl-toggle .sw::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--pl-bone);transition:transform .3s cubic-bezier(.2,1.4,.4,1)}
.pl-toggle.on .sw{background:#6BD5CB}
.pl-toggle.on .sw::after{transform:translateX(12px);background:#0d0723}

/* deploy button */
.pl-deploy{
  font-family:'Lexend',sans-serif;font-weight:500;font-size:15px;
  padding:14px 28px;border-radius:999px;border:none;cursor:pointer;
  background:linear-gradient(110deg, #6BD5CB, #9575CD);color:#0d0723;
  display:inline-flex;align-items:center;gap:10px;position:relative;overflow:hidden;
  transition:all .4s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 16px 40px -10px rgba(107,213,203,.5);
}
.pl-deploy::before{
  content:"";position:absolute;inset:0;background:linear-gradient(110deg, transparent, rgba(244,239,230,.5), transparent);
  transform:translateX(-100%);transition:transform .8s;
}
.pl-deploy:hover::before{transform:translateX(100%)}
.pl-deploy:hover{transform:translateY(-2px);box-shadow:0 24px 50px -10px rgba(107,213,203,.7)}
.pl-deploy:disabled{opacity:.4;cursor:not-allowed;transform:none}
.pl-deploy .arrow{display:inline-block;transition:transform .3s}
.pl-deploy:hover:not(:disabled) .arrow{transform:translateX(4px)}

/* nav buttons */
.pl-actions{margin-top:14px;display:flex;gap:10px;align-items:center;justify-content:center}
.pl-back{
  font-family:'Lexend',sans-serif;font-size:12px;font-weight:500;
  padding:10px 14px;border-radius:999px;background:transparent;color:var(--pl-mut);
  border:1px solid rgba(244,239,230,.16);cursor:pointer;transition:all .3s;
}
.pl-back:hover{color:var(--pl-bone);border-color:rgba(244,239,230,.3)}
.pl-next{
  font-family:'Lexend',sans-serif;font-weight:500;font-size:13px;
  padding:10px 18px;border-radius:8px;
  background:var(--pl-bone);color:#0d0723;border:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
  transition:all .3s cubic-bezier(.2,.8,.2,1);
}
.pl-next:hover{background:#6BD5CB;transform:translateY(-1px);box-shadow:0 12px 26px -6px rgba(107,213,203,.5)}
.pl-next:disabled{opacity:.3;cursor:not-allowed;transform:none;background:var(--pl-bone);box-shadow:none}
.pl-next .arrow{display:inline-block;transition:transform .3s}
.pl-next:hover:not(:disabled) .arrow{transform:translateX(3px)}

/* ============ INSPECTOR (right panel) ============ */
.pl-inspect{
  background:linear-gradient(180deg, rgba(45,26,94,.4), rgba(13,7,35,.85));
  border:1px solid rgba(149,117,205,.22);
  border-radius:16px;
  padding:18px 20px;font-family:'Inter',sans-serif;font-size:13px;
  color:var(--pl-bone);height:260px;display:flex;flex-direction:column;
}
.pl-inspect-head{
  display:flex;align-items:center;justify-content:space-between;
  padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid rgba(149,117,205,.2);
  font-family:'Lexend',sans-serif;font-size:14px;font-weight:500;color:var(--pl-bone);
  letter-spacing:-.01em;
}
.pl-inspect-head .badge{
  padding:3px 9px;border-radius:999px;background:rgba(107,213,203,.15);color:#6BD5CB;
  font-family:'Inter',sans-serif;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;
}
.pl-inspect-body{flex:1;overflow-y:auto;line-height:1.6;scrollbar-width:thin;scrollbar-color:rgba(149,117,205,.4) transparent}
.pl-inspect-body::-webkit-scrollbar{width:4px}
.pl-inspect-body::-webkit-scrollbar-thumb{background:rgba(149,117,205,.4);border-radius:2px}
.pl-tip{padding:8px 0;border-bottom:1px dashed rgba(149,117,205,.18);color:rgba(244,239,230,.85);display:flex;gap:10px;align-items:flex-start}
.pl-tip:last-child{border-bottom:none}
.pl-tip .ico{color:#B8A3DD;margin-top:2px;font-size:14px;flex-shrink:0}
.pl-sg{display:flex;flex-direction:column;gap:2px;font-family:'Inter',sans-serif}
.pl-sg-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px dashed rgba(149,117,205,.16)}
.pl-sg-row:last-child{border-bottom:none}
.pl-sg-k{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(184,163,221,.7);font-weight:500;flex-shrink:0}
.pl-sg-v{font-size:13px;color:#F4EFE6;text-align:right;font-weight:400;line-height:1.4}
.pl-sg-v.pl-sg-empty{color:rgba(244,239,230,.4);font-style:italic}

/* copilot bubble */
.pl-copilot{
  position:absolute;bottom:300px;right:24px;z-index:7;
  max-width:280px;
  background:linear-gradient(135deg, rgba(149,117,205,.9), rgba(45,26,94,.95));
  border:1px solid rgba(184,163,221,.4);
  border-radius:14px 14px 4px 14px;
  padding:12px 14px;
  font-size:12px;line-height:1.5;color:var(--pl-bone);
  box-shadow:0 18px 40px -10px rgba(149,117,205,.5);
  opacity:0;transform:translateY(10px) scale(.95);
  transition:all .5s cubic-bezier(.2,1.2,.4,1);
  pointer-events:none;
}
.pl-copilot.show{opacity:1;transform:translateY(0) scale(1)}
.pl-copilot::before{
  content:"";position:absolute;bottom:-8px;right:14px;
  width:12px;height:12px;background:rgba(45,26,94,.95);
  border-right:1px solid rgba(184,163,221,.4);border-bottom:1px solid rgba(184,163,221,.4);
  transform:rotate(45deg);
}
.pl-copilot-head{
  display:flex;align-items:center;gap:8px;
  margin-bottom:8px;font-family:'Lexend',sans-serif;font-size:11px;font-weight:500;
  color:rgba(244,239,230,.85);
}
.pl-copilot-head .av{
  width:18px;height:18px;border-radius:50%;
  background:linear-gradient(135deg, #6BD5CB, #B8A3DD);
  display:flex;align-items:center;justify-content:center;
  font-family:'Lexend',sans-serif;font-size:9px;font-weight:600;color:#0d0723;
}
.pl-copilot-msg{min-height:18px}
.pl-copilot-msg::after{content:"▍";color:#6BD5CB;animation:pl-blink .8s infinite}
.pl-copilot-msg.done::after{display:none}

/* ============ DEPLOY SCREEN ============ */
.pl-deploy-screen{
  position:fixed;inset:0;z-index:9;display:none;
  background:radial-gradient(ellipse at 50% 50%, #1a0f3d 0%, #08051a 70%);
  flex-direction:column;align-items:center;justify-content:flex-start;
  padding:60px 24px 60px;overflow:auto;
  scrollbar-width:thin;scrollbar-color:rgba(149,117,205,.4) transparent;
}
.pl-deploy-screen::-webkit-scrollbar{width:6px}
.pl-deploy-screen::-webkit-scrollbar-thumb{background:rgba(149,117,205,.4);border-radius:3px}
.pl-deploy-screen .pl-deploy-content{margin:auto 0}
.pl-deploy-screen.show{display:flex}
.pl-deploy-canvas{position:fixed;inset:0;z-index:0;width:100vw;height:100vh;pointer-events:none}
.pl-deploy-content{position:relative;z-index:2;width:100%;max-width:680px;text-align:center}
.pl-deploy-eyebrow{
  font-family:'Lexend',sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:#6BD5CB;margin-bottom:18px;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:500;
}
.pl-deploy-eyebrow .pulse{width:8px;height:8px;border-radius:50%;background:#6BD5CB;box-shadow:0 0 14px #6BD5CB;animation:pl-blink 1s infinite}
.pl-deploy-title{
  font-family:'Lexend',sans-serif;font-weight:200;
  font-size:clamp(34px, 5vw, 60px);line-height:1.05;letter-spacing:-.025em;
  color:var(--pl-bone);margin-bottom:14px;text-wrap:balance;padding-bottom:.08em;
  opacity:0;transform:translateY(14px);transition:all .8s cubic-bezier(.2,.8,.2,1);
}
.pl-deploy-title.in{opacity:1;transform:none}
.pl-deploy-title .hl{
  background:linear-gradient(110deg, #6BD5CB, #B8A3DD);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-style:italic;font-weight:300;display:inline-block;padding-right:.06em;
}
.pl-deploy-sub{
  font-size:15px;color:var(--pl-mut);margin-bottom:36px;
  opacity:0;transform:translateY(10px);transition:all .8s .2s cubic-bezier(.2,.8,.2,1);
}
.pl-deploy-sub.in{opacity:1;transform:none}

.pl-logs{
  background:rgba(13,7,35,.85);border:1px solid rgba(149,117,205,.25);border-radius:14px;
  padding:20px 24px;font-family:'Inter',sans-serif;font-size:14px;line-height:1.85;
  text-align:left;color:rgba(244,239,230,.85);
  max-height:300px;overflow-y:auto;
  opacity:0;transform:translateY(14px);transition:all .8s .1s cubic-bezier(.2,.8,.2,1);
  scrollbar-width:thin;scrollbar-color:rgba(149,117,205,.4) transparent;
}
.pl-logs.in{opacity:1;transform:none}
.pl-logs::-webkit-scrollbar{width:4px}
.pl-logs::-webkit-scrollbar-thumb{background:rgba(149,117,205,.4);border-radius:2px}
.pl-log-line{display:flex;gap:12px;opacity:0;transform:translateX(-6px);transition:all .35s;align-items:flex-start;padding:2px 0}
.pl-log-line.in{opacity:1;transform:none}
.pl-log-line .ts{display:none}
.pl-log-line .ic{flex-shrink:0;width:18px;text-align:center;font-size:14px;margin-top:2px}
.pl-log-line.ok .ic{color:#6BD5CB}
.pl-log-line.ok .msg{color:rgba(244,239,230,.95)}
.pl-log-line.dim .msg{color:rgba(244,239,230,.55);font-style:italic}
.pl-log-line .v{color:#B8A3DD;font-weight:500}

/* final card */
.pl-final{
  margin-top:36px;
  background:linear-gradient(160deg, rgba(45,26,94,.5), rgba(13,7,35,.85));
  border:1px solid rgba(149,117,205,.35);border-radius:18px;
  padding:28px;text-align:center;
  opacity:0;transform:translateY(14px) scale(.97);transition:all .9s cubic-bezier(.2,1.1,.4,1);
}
.pl-final.in{opacity:1;transform:none}
.pl-final-eye{
  font-family:'Lexend',sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6BD5CB;margin-bottom:12px;font-weight:500;
}
.pl-final h3{
  font-family:'Lexend',sans-serif;font-weight:300;font-size:clamp(22px, 3vw, 32px);
  line-height:1.2;letter-spacing:-.015em;color:var(--pl-bone);margin-bottom:10px;text-wrap:balance;padding-bottom:.06em;
}
.pl-final h3 .hl{
  background:linear-gradient(110deg, #6BD5CB, #B8A3DD);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-style:italic;font-weight:400;display:inline-block;padding-right:.06em;
}
.pl-final p{font-size:14px;color:var(--pl-mut);max-width:46ch;margin:0 auto 22px;line-height:1.55}
.pl-final-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.pl-cal{
  font-family:'Lexend',sans-serif;font-size:13px;font-weight:500;
  padding:11px 18px;border-radius:999px;background:rgba(244,239,230,.06);
  border:1px solid rgba(244,239,230,.18);color:var(--pl-bone);cursor:pointer;
  transition:all .3s;
}
.pl-cal:hover{background:rgba(244,239,230,.14);border-color:var(--pl-bone)}
.pl-cal.primary{background:#6BD5CB;color:#0d0723;border-color:#6BD5CB}
.pl-cal.primary:hover{background:#B8A3DD;border-color:#B8A3DD}

/* responsive */
@media (max-width:1100px){
  .pl-desk{grid-template-columns:1fr;height:auto;padding-bottom:30px}
  .pl-term,.pl-inspect{display:none}
  .pl-canvas{padding:120px 16px 30px}
  .pl-copilot{display:none}
}
@media (max-width:760px){
  .pl-nodes{flex-direction:column;gap:12px}
  .pl-node{max-width:none;width:100%}
  .pl-cables{display:none}
  .pl-canvas{padding:130px 16px 24px}
  .pl-progress{font-size:8px}
  .pl-slots{grid-template-columns:repeat(4,1fr)}
}
