/* AETHER — project detail panel, shared by every layout */
/* right sidebar / detail */
.pd-empty{padding:34px 18px;color:var(--ink-3);font-size:13px;text-align:center}
.pd-head{padding:16px 16px 14px;border-bottom:1px solid var(--line)}
.pd-title{display:flex;align-items:center;gap:9px}
.pd-title h3{margin:0;font-size:15.5px;font-weight:550}
.pd-sub{margin-top:6px}
.pd-sub code{color:var(--ink-3);font-size:11.5px}
.pd-tags{display:flex;gap:6px;margin-top:11px;flex-wrap:wrap}
.tag{
  font-size:10.5px;padding:3px 8px;border-radius:5px;border:1px solid var(--line);
  color:var(--ink-2);font-family:var(--mono);
}
.pd-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:12px 14px;border-bottom:1px solid var(--line)}
.pd-act{
  text-align:left;padding:9px 10px;border-radius:8px;border:1px solid var(--line);
  background:rgba(255,255,255,.03);color:var(--ink);transition:.16s;
}
.pd-act:hover{border-color:rgba(var(--accent-rgb),.55);background:rgba(var(--accent-rgb),.11)}
.pd-act span{display:block;font-size:12.5px}
.pd-act small{display:block;font-size:10px;color:var(--ink-3);font-family:var(--mono);margin-top:2px}
.pd-block{padding:14px 16px;border-bottom:1px solid var(--line)}
.pd-block h4{margin:0 0 9px;font-size:9.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.pd-line{margin:0;font-size:12.8px;color:var(--ink-2);line-height:1.5}
.pd-dim{margin:4px 0 0;font-size:11.5px;color:var(--ink-3)}
.pd-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.pd-stat b{display:block;font-size:16px;font-weight:550;letter-spacing:-.01em}
.pd-stat span{display:block;font-size:10.5px;color:var(--ink-3);margin-top:1px}
.pd-files{font-family:var(--mono);font-size:11.8px;line-height:1.9}
.pd-file{cursor:pointer;border-radius:5px;padding-inline:4px;color:var(--ink-2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-file:hover{background:rgba(255,255,255,.05);color:var(--ink)}
.pd-task{display:flex;gap:9px;align-items:center;font-size:12.6px;color:var(--ink-2);padding:3px 0}
.pd-task i{width:6px;height:6px;border-radius:50%;background:#ffb340;flex:0 0 auto}
.pd-task.done{color:var(--ink-3);text-decoration:line-through}
.pd-task.done i{background:#3ff0a4}
.pd-progress h4{display:flex;justify-content:space-between;gap:8px}
.pd-progress h4 span{letter-spacing:.04em;text-transform:none;font-weight:500;color:var(--ink-2)}
.pd-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden;margin:0 0 9px}
.pd-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#3ff0a4)}
.pd-phases{display:flex;flex-direction:column;gap:6px;margin:10px 0 4px}
.pd-phase{display:grid;grid-template-columns:1fr auto;gap:2px 8px;font-size:12px;color:var(--ink-2)}
.pd-phase em{font-style:normal;font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.pd-phase u{grid-column:1/-1;height:3px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
.pd-phase u i{display:block;height:100%;background:var(--accent)}
.pd-phase.done{color:var(--ink-3)}
.pd-phase.done u i{background:#3ff0a4}
.pd-member{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;padding:7px 8px;margin:0 -8px;border-radius:8px;border:1px solid transparent;background:none;color:inherit;cursor:pointer}
.pd-member:hover{background:rgba(var(--accent-rgb),.09);border-color:rgba(var(--accent-rgb),.3)}
.pd-member .st{width:7px;height:7px;border-radius:50%;margin-top:6px;flex:0 0 auto;background:var(--ink-3)}
.pd-member .st.ok{background:#3ff0a4}.pd-member .st.warn{background:#ffb340}.pd-member .st.run{background:var(--accent)}
.pd-member b{display:block;font-size:12.8px;font-weight:500}
.pd-member small{display:block;font-size:11px;color:var(--ink-3);font-family:var(--mono);margin-top:1px}
.pd-next{margin:10px 0 2px;font-size:9.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.pd-svcs{display:flex;gap:6px;flex-wrap:wrap}


/* slide-in drawer used by Nexus and Slate */
.ad-back{position:fixed;inset:0;z-index:120;background:rgba(2,2,6,.5);opacity:0;pointer-events:none;transition:.25s}
.ad-back.on{opacity:1;pointer-events:auto}
.ad{
  position:fixed;top:0;right:0;bottom:0;width:min(380px,92vw);z-index:130;overflow-y:auto;
  background:rgba(13,13,19,.98);border-left:1px solid rgba(255,255,255,.12);
  transform:translateX(102%);transition:transform .28s cubic-bezier(.3,.8,.3,1);
  box-shadow:-20px 0 60px rgba(0,0,0,.5);
}
.ad.on{transform:none}
.ad-close{
  position:absolute;top:12px;right:12px;z-index:2;width:28px;height:28px;border-radius:7px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#9496a8;
  display:grid;place-items:center;font-size:14px;
}
.ad-close:hover{color:#fff}

/* people who ask their device for less motion: no CSS animation, no smooth scrolling */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
