/* Ship — deploy areas, run timeline (public/views/ship.js) */

.ship-areas{align-items:start}
.ship-area{border-left:4px solid var(--mist)}
.ship-area.waiting{border-left-color:var(--amber)}
.ship-area.last-off{border-left-color:var(--red)}
.ship-area.last-prog{border-left-color:var(--blue)}
.ship-area-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.ship-area-h h2{font-size:15px}
.ship-area .sub-h{margin-top:6px}
.ship-what summary{cursor:pointer;margin-top:2px}
.ship-what .md{margin-top:6px;padding:8px 10px;background:var(--cloud);border-radius:6px;font-size:12.5px}
.ship-last{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:10px;padding-top:10px;border-top:1px solid var(--mist)}
.ship-ctl{margin-top:10px}
.ship-ctl input{padding:8px 10px;border:1px solid var(--mist);border-radius:8px;font:inherit;width:190px;min-height:40px}
.ship-ctl input:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px var(--red-bg)}
.ship-ctl .btn{min-height:40px}
.ship-ro{margin-top:10px}
.list.compact li{padding:5px 0}

/* timeline */
.tl{list-style:none;position:relative;margin-left:6px;padding-left:18px;border-left:2px solid var(--mist)}
.tl-i{position:relative;padding:4px 0 10px}
.tl-dot{position:absolute;left:-25px;top:8px;width:12px;height:12px;border-radius:50%;background:var(--steel);border:2px solid #fff;box-shadow:0 0 0 2px var(--mist)}
.tl-i.on .tl-dot{background:var(--green)}.tl-i.off .tl-dot{background:var(--red)}.tl-i.warn .tl-dot{background:var(--amber)}
.tl-i.prog .tl-dot{background:var(--blue);animation:tl-pulse 1.4s infinite}
@keyframes tl-pulse{0%,100%{box-shadow:0 0 0 2px var(--mist)}50%{box-shadow:0 0 0 5px var(--ice)}}
.tl-t{font-size:13px}
.tl-i.off .tl-t strong{color:var(--red)}.tl-i.on .tl-t strong{color:var(--green)}.tl-i.prog .tl-t strong{color:var(--blue-press)}
.ship-commits code{font-size:11.5px}

@media(max-width:700px){
  .ship-ctl input{flex:1;width:auto}
  .ship-ctl .btn{flex:0 0 auto}
}
