/* Uses the shared surface/type/status tokens; no status is conveyed by color alone. */
/* .pg-dialog-out: the same dialog while it leaves (prerequisite-graph.js close) */
.pg-dialog,.pg-dialog-out{width:min(960px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--ink)}
.pg-dialog::backdrop,.pg-dialog-out::backdrop{background:var(--scrim)}
.pg-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line)}
.pg-head h2{margin:0;font-size:22px}.pg-head button,.pg-body button,.pg-select select{min-height:44px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 12px}
.pg-body{padding:20px 24px}.pg-body p{line-height:1.5}.pg-note,.pg-status{color:var(--ink-2)}
.pg-status{display:block;font-size:13px;margin-top:6px}.pg-select{display:flex;align-items:center;gap:12px;margin:20px 0}
.pg-scroll{overflow:auto;border:1px solid var(--line);border-radius:12px;padding:24px;margin:20px 0;background:var(--surface)}
.pg-diagram{display:flex;flex-direction:column;align-items:center;min-width:560px;padding:8px}.pg-node{border:1px solid var(--line);border-radius:10px;padding:14px 18px;background:var(--bg);min-width:168px;max-width:240px;text-align:center;position:relative}.pg-node>span{display:block}.pg-node strong{font-size:16px}
.pg-diagram>.pg-node:before,.pg-chain>.pg-node:not(:first-child):before{content:"";display:block;position:absolute;bottom:100%;left:50%;height:24px;border-left:1px solid var(--ink-2)}
.pg-chain{display:flex;flex-direction:column;align-items:center;gap:24px}.pg-branches{list-style:none;display:flex;align-items:flex-end;gap:0;margin:0;padding:0 0 22px;position:relative}.pg-branches>li{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;padding:0 12px 22px;border-bottom:1px solid var(--ink-2)}
.pg-branches>li:after{content:"";position:absolute;bottom:0;left:50%;height:22px;border-left:1px solid var(--ink-2)}
.pg-group{display:flex;flex-direction:column;align-items:center;margin-bottom:24px}.pg-join{margin:0;border:1px solid var(--line);border-radius:20px;padding:6px 14px;font-weight:600}.pg-floor{font-size:13px;margin:0}.pg-unknown{max-width:220px;padding:12px;border:1px dashed var(--ink-2);border-radius:8px;text-align:center}
.pg-reading{border-top:1px solid var(--line);padding:14px 0}.pg-reading summary{cursor:pointer;min-height:44px;line-height:1.5}.pg-reading ul{padding-left:22px}.pg-reading li{margin:10px 0}.pg-reading p{overflow-wrap:anywhere}
@media(max-width:600px){.pg-dialog,.pg-dialog-out{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.pg-head,.pg-body{padding:16px}.pg-head h2{font-size:20px}.pg-scroll{padding:12px}}

.pg-branches:after{content:"";position:absolute;bottom:0;left:50%;height:22px;border-left:1px solid var(--ink-2)}
