.pl{max-width:960px;margin:0 auto;padding:16px}
.pl-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.pl-card{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:0 0 10px;background:var(--surface)}
.pl-chip{display:inline-block;font-size:12px;padding:2px 8px;border-radius:8px;border:1px solid var(--line);margin:0 6px 4px 0}
.pl-agreed,.pl-ready{background:var(--st-built-bg);color:var(--st-built-ink)}.pl-changed{background:var(--accent-soft);color:var(--accent-ink)}
.pl-deferred,.pl-blocked{background:var(--st-none-bg);color:var(--st-none-ink)}.pl-open,.pl-proposed,.pl-on\ track{background:var(--st-part-bg);color:var(--st-part-ink)}
.pl-late{background:var(--st-none-bg);color:var(--st-none-ink)}.pl-unknown{background:var(--st-unv-bg);color:var(--st-unv-ink)}
.pl-new{outline:2px solid var(--accent);outline-offset:2px}
.pl mark{background:var(--warn-bg);color:inherit;padding:0 2px}
.pl-muted{color:var(--muted);font-size:13px}
.pl-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}
.pl-review{border:2px solid var(--accent);border-radius:12px;padding:12px 16px;margin-bottom:14px}
.pl input[type=date],.pl input[type=number]{font:inherit;padding:2px 6px}
.pl details>summary{cursor:pointer}
.pl-arch .pl-head{margin-bottom:6px}
.pl-legend{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.pl-key{font-size:12px;padding:1px 8px;border-radius:8px;border:1px solid var(--line)}
.pl-layer{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:stretch;padding:6px 0;border-top:1px solid var(--line-2)}
.pl-lname{font-size:13px;color:var(--muted);align-self:center}
.pl-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.pl-box{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;border:1px dashed var(--st-unv);background:transparent;transition:background .3s,border-color .3s,opacity .3s}
.pl-box:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pl-bl{font-size:13px;font-weight:500}.pl-bs{font-size:12px;color:var(--muted)}.pl-bw{font-size:11px;margin-top:2px}
.pl-b-agreed{background:var(--st-built-bg);color:var(--st-built-ink);border:1px solid var(--st-built)}
.pl-b-changed{background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent)}
.pl-b-partly{background:var(--st-built-bg);color:var(--st-built-ink);border:1px dashed var(--st-built)}
.pl-b-open{background:var(--st-part-bg);color:var(--st-part-ink);border:1px solid var(--st-part)}
.pl-b-deferred{background:var(--st-unv-bg);color:var(--st-unv-ink);border:1px solid var(--st-unv);opacity:.7}
.pl-b-unknown{background:var(--st-none-bg);color:var(--st-none-ink);border:1px dashed var(--st-none)}
.pl-box .pl-bs{color:inherit;opacity:.8}
.pl-fresh{box-shadow:0 0 0 2px var(--accent)}
.pl-hit,.pl-hover{box-shadow:0 0 0 2px var(--st-des)}
.pl-card.pl-hit{outline:2px solid var(--st-des);outline-offset:2px}
.pl-dim{opacity:.35}
.pl-take{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.pl-link{all:unset;cursor:pointer;color:var(--accent);text-decoration:underline;font-size:13px}
.pl-mini{max-width:none;padding:8px 0 0;margin:0}
.pl-mini .pl-layer{grid-template-columns:120px 1fr}
@media (max-width:640px){.pl-layer{grid-template-columns:1fr}}
.pl-ae { margin-left: 6px; }
.pl-aebox { border-left: 3px dashed var(--accent, #2d5a4a); padding: 4px 10px; margin: 6px 0; font-size: 13px; }
.pl-aebox p { margin: 3px 0; }
