/* The platform map (/platform). Tokens follow the DFIR Swarm design system: on the
   band the five accents are raised to the value a dark ground needs, and each still
   means one thing: kelp work in motion, slate files and the record, moss sealed and
   done, saffron keys and caps, brick refused. */
.pm-hero,.pm-stage-wrap{
  --pm-kelp:#3fb3b1;--pm-slate:#9db7d0;--pm-moss:#a7cf8a;--pm-saffron:#f0b964;--pm-brick:#f0a5ae;
  --pm-zone:#34322f;--pm-node:#262422;--pm-node-2:#2e2c29;--pm-edge-idle:.24;
}
.pm-hero{padding-bottom:28px}
.pm-legend{align-self:end;display:flex;flex-direction:column;gap:12px;padding:18px 20px;border:1px solid var(--band-line);border-radius:var(--r)}
.pm-legend-list{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:13.5px;color:var(--band-ink-2)}
.pm-legend-list li{display:flex;align-items:center;gap:10px}
.pm-legend-list b{font-weight:500;color:var(--band-ink);font-family:var(--mono);font-size:12px;margin-right:4px}
.pm-sw{width:18px;height:3px;border-radius:2px;flex:none}
.pm-sw-kelp{background:var(--pm-kelp)}.pm-sw-slate{background:var(--pm-slate)}.pm-sw-moss{background:var(--pm-moss)}.pm-sw-saffron{background:var(--pm-saffron)}.pm-sw-brick{background:var(--pm-brick)}
.pm-legend-note{font-size:12.5px;color:var(--band-ink-2);border-top:1px solid var(--band-line);padding-top:10px}

.pm-stage-wrap{padding-top:8px;padding-bottom:56px}
.pm{display:flex;flex-direction:column;gap:14px}

/* toolbar */
.pm-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pm-steps{align-items:center}
.pm-play{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 16px;border-radius:var(--r-sm);border:1px solid var(--kelp);background:var(--kelp);color:#fff;font:500 14px var(--sans);cursor:pointer}
.pm-play:hover{background:var(--kelp-ink)}
.pm-play .pm-ico-pause{display:none}
.pm-play[aria-pressed="true"] .pm-ico-play{display:none}
.pm-play[aria-pressed="true"] .pm-ico-pause{display:block}
.pm-steps{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex:1 1 auto;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.pm-steps button{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 11px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--band-ink-2);font:500 13px/1 var(--sans);white-space:nowrap;cursor:pointer}
/* The number sits on the name's baseline, and the pair is centred in the frame. */
.pm-steps button span{font-family:var(--mono);font-size:11px;line-height:1;color:#8c877d;position:relative;top:.5px}
.pm-steps button:hover{color:var(--band-ink);border-color:var(--band-line)}
.pm-steps button[aria-current="step"]{color:var(--band-ink);border-color:var(--pm-kelp);background:rgba(63,179,177,.1)}
.pm-steps button[aria-current="step"] span{color:var(--pm-kelp)}
.pm-views{display:inline-flex;border:1px solid var(--band-line);border-radius:var(--r-sm);overflow:hidden}
.pm-views button{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:0;background:transparent;color:var(--band-ink-2);font:500 13px/1 var(--sans);cursor:pointer}
.pm-views button+button{border-left:1px solid var(--band-line)}
.pm-views button[aria-pressed="true"]{background:var(--band-2);color:var(--band-ink)}
.pm button:focus-visible,.pm [tabindex]:focus-visible,.pm summary:focus-visible{outline:2px solid var(--kelp-pale);outline-offset:2px}

/* the stage: the map, and the part the examiner opened beside it */
.pm-stage{position:relative}
.pm-pan{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.pm-canvas{position:relative;border:1px solid var(--band-line);border-radius:14px;background:#1f1e1c;overflow:hidden}
.pm-svg{width:100%;height:auto;display:block;font-family:var(--sans)}
.pm-svg text{pointer-events:none;user-select:none}

/* zones */
.pm-zone rect{fill:none;stroke:var(--pm-zone);stroke-width:1}
.pm-zone .pm-z-label{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;fill:#a39e93}
.pm-zone .pm-z-sub{font-size:11px;fill:#938e84}

/* edges */
.pm-edge path.pm-e{fill:none;stroke-width:1.4;stroke:var(--tone);opacity:var(--pm-edge-idle);transition:opacity .35s,stroke-width .35s}
.pm-edge.is-dash path.pm-e{stroke-dasharray:4 5}
.pm-edge.is-on path.pm-e{opacity:.95;stroke-width:2}
.pm-edge.is-dim path.pm-e{opacity:.08}
.pm-edge.is-on.is-dash path.pm-e{animation:pm-dash 3.6s linear infinite}
@keyframes pm-dash{to{stroke-dashoffset:-18}}
.pm-edge .pm-e-label{opacity:0;transition:opacity .3s}
.pm-edge.is-on .pm-e-label,.pm-edge.is-hot .pm-e-label{opacity:1}
.pm-e-label rect{fill:#1f1e1c;stroke:var(--tone);stroke-width:1;opacity:.95}
.pm-e-label text{font-family:var(--mono);font-size:10.5px;fill:var(--band-ink)}
.pm-dot{fill:var(--tone)}
.pm-dot-halo{fill:var(--tone);opacity:.22}

/* nodes */
.pm-node{cursor:pointer;outline:none;transition:opacity .35s}
.pm-node .pm-box{fill:var(--pm-node);stroke:var(--band-line);stroke-width:1;transition:stroke .3s,fill .3s}
.pm-node:hover .pm-box{fill:var(--pm-node-2);stroke:#6b675f}
.pm-node .pm-ring{fill:none;stroke:var(--kelp-pale);stroke-width:2;opacity:0}
.pm-node:focus-visible .pm-ring{opacity:1}
.pm-node .pm-pip{fill:var(--tone)}
.pm-node .pm-n-label{font-family:var(--serif);font-style:italic;font-size:21px;fill:var(--band-ink)}
.pm-node .pm-n-mono{font-family:var(--mono);font-size:11px;fill:#a39e93}
.pm-node.is-on .pm-box{stroke:var(--tone);fill:var(--pm-node-2)}
.pm-node.is-dim{opacity:.34}
.pm-node.is-sel .pm-box{stroke:var(--band-ink);stroke-width:2}
.pm-node .pm-pulse{fill:none;stroke:var(--tone);stroke-width:1.5;opacity:0}
.pm-node.is-flash .pm-pulse{animation:pm-pulse 1.1s ease-out}
@keyframes pm-pulse{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.06)}}
.pm-node .pm-pulse{transform-box:fill-box;transform-origin:center}

/* the swarm: two brackets holding the peers, the mark as a place */
.pm-swarm .pm-bracket{fill:none;stroke:#8c877d;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.pm-swarm .pm-agent{transition:transform .6s}
.pm-swarm .pm-agent circle.pm-a-core{stroke:#1f1e1c;stroke-width:3}
.pm-swarm .pm-agent circle.pm-a-ring{fill:none;stroke-width:1.2;opacity:.5}
.pm-swarm .pm-a-name{font-family:var(--mono);font-size:10px;fill:#8c877d}
.pm-swarm .pm-a-talk{fill:none;stroke:#6b675f;stroke-width:1;stroke-dasharray:2 4;opacity:.7}
.pm-swarm.is-on .pm-a-talk{stroke:var(--pm-kelp);animation:pm-dash 3.6s linear infinite}
@media (prefers-reduced-motion:no-preference){
  .pm-swarm .pm-agent{animation:pm-bob 5.2s ease-in-out infinite}
  .pm-swarm .pm-agent:nth-child(2){animation-delay:-1s}.pm-swarm .pm-agent:nth-child(3){animation-delay:-2.1s}
  .pm-swarm .pm-agent:nth-child(4){animation-delay:-3.2s}.pm-swarm .pm-agent:nth-child(5){animation-delay:-4.1s}
  .pm-swarm .pm-a-ring{animation:pm-breathe 3.4s ease-in-out infinite}
}
@keyframes pm-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes pm-breathe{0%,100%{opacity:.15}50%{opacity:.7}}

/* the job images: a chip per profile; a worker lights up while a job runs in it */
.pm-chip rect{fill:#1f1e1c;stroke:var(--band-line);stroke-width:1;transition:fill .25s,stroke .25s}
.pm-chip text{font-family:var(--mono);font-size:12.5px;fill:var(--band-ink)}
.pm-chip .pm-chip-sub{font-size:9.5px;fill:#8c877d}
.pm-chip.is-busy rect{stroke:var(--pm-kelp);fill:rgba(63,179,177,.16)}
.pm-chip:hover rect,.pm-chip:focus-visible rect{stroke:var(--band-ink-2)}
.pm-chip{cursor:pointer;outline:none}
.pm-chip:focus-visible rect{stroke:var(--kelp-pale);stroke-width:2}

.pm-hint{display:none;font-size:13px;color:var(--band-ink-2);margin:-4px 0 0}
.pm[data-view="list"] .pm-hint{display:none!important}
/* narration */
.pm-narration{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 18px;align-items:baseline;padding:14px 4px 0;border-top:1px solid var(--band-line);position:relative}
.pm-narr-n{font-family:var(--mono);font-size:12px;color:var(--pm-kelp);white-space:nowrap}
.pm-narr-text{font-size:15px;color:var(--band-ink-2);max-width:96ch}
.pm-narr-text b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:22px;color:var(--band-ink);margin-right:8px}
.pm-meter{position:absolute;left:0;top:-1px;height:2px;background:var(--pm-kelp);width:0}
.pm-meter.is-run{transition:width linear}

/* the panel: the part the examiner opened, on paper */
.pm-panel{background:var(--paper);color:var(--ink);border-radius:12px;border:1px solid var(--line-2);position:absolute;top:12px;right:12px;bottom:12px;width:min(440px,42%);overflow:auto;overscroll-behavior:contain;opacity:0;transform:translateX(24px);transition:opacity .35s,transform .45s cubic-bezier(.2,.7,.2,1);z-index:3}
.pm-stage.has-panel .pm-panel{opacity:1;transform:none}
.pm-panel[hidden]{display:block;visibility:hidden}
.pm-stage:not(.has-panel) .pm-panel{visibility:hidden;pointer-events:none}
.pp-head{position:sticky;top:0;z-index:2;background:var(--paper);padding:16px 18px 12px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.pp-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pp-zone{display:inline-flex;align-items:center;gap:8px}
.pp-zone i{width:8px;height:8px;border-radius:9999px;background:var(--tone-ink)}
.pp-close{width:36px;height:36px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.pp-close:hover{border-color:var(--line-2)}
.pp-title{font-size:32px}
.pp-mono{font-family:var(--mono);font-size:12px;color:var(--ink-3)}
.pp-body{padding:14px 18px 18px;display:flex;flex-direction:column;gap:18px}
.pp-role{font-size:15px;line-height:1.5;color:var(--ink)}
.pp-phases{display:flex;flex-wrap:wrap;gap:6px}
.pp-phases button{min-height:28px;padding:0 10px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--card);font:500 12px var(--sans);color:var(--ink-2);cursor:pointer}
.pp-phases button span{font-family:var(--mono);color:var(--ink-3);margin-right:5px}
.pp-phases button:hover{border-color:var(--kelp);color:var(--kelp-ink)}
.pp-sec{display:flex;flex-direction:column;gap:8px}
.pp-sec ul{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink-2)}
.pp-codes{display:flex;flex-wrap:wrap;gap:6px}
.pp-codes code{font-size:11.5px;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:3px 7px;color:var(--ink-2)}
.pp-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pp-links>div{display:flex;flex-direction:column;gap:6px}
.pp-link{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);cursor:pointer;font:inherit;color:var(--ink)}
.pp-link:hover{border-color:var(--line-2)}
.pp-link b{font-weight:500;font-size:13.5px}
.pp-link span{font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.pp-nav{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:14px}
.pp-nav button{min-height:36px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--card);font:500 13px var(--sans);color:var(--ink);cursor:pointer}
.pp-nav button:hover{border-color:var(--line-2)}

/* "try it": the small working models inside the panel */
.pw{border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:14px;display:flex;flex-direction:column;gap:12px}
.pw-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pw-head .kicker{color:var(--kelp-ink)}
.pw-btns{display:flex;flex-wrap:wrap;gap:6px}
.pw-btn{min-height:32px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--paper);font:500 13px var(--sans);color:var(--ink);cursor:pointer}
.pw-btn:hover{border-color:var(--line-2)}
.pw-btn[aria-pressed="true"]{border-color:var(--kelp);background:var(--kelp-soft);color:var(--kelp-ink)}
.pw-btn.pw-primary{background:var(--kelp);border-color:var(--kelp);color:#fff}
.pw-btn.pw-primary:hover{background:var(--kelp-ink)}
.pw-btn:disabled{opacity:.45;cursor:default}
.pw-out{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px;animation:pw-in .35s ease-out}
@keyframes pw-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.pw-out h4{margin:0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:22px;line-height:1.1}
.pw-out p{font-size:14px;color:var(--ink-2)}
.pw-out img{width:100%;border:1px solid var(--line-2);border-radius:var(--r-sm)}
.pw-mono{font-family:var(--mono);font-size:12px;color:var(--ink-2);background:var(--paper-2);border:1px solid var(--line);border-radius:4px;padding:4px 8px;align-self:flex-start;overflow-wrap:anywhere}
.chip-na{background:transparent;border:1px dashed var(--line-2);color:var(--ink-3)}

/* steps */
.pw-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.pw-step{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 10px;padding:10px 0;border-top:1px solid var(--line);opacity:.35;transition:opacity .3s}
.pw-step:first-child{border-top:0}
.pw-step.is-done{opacity:1}
.pw-step.is-now .pw-n{background:var(--kelp);color:#fff;border-color:var(--kelp)}
.pw-n{width:24px;height:24px;border-radius:9999px;border:1px solid var(--line-2);font:500 11px var(--mono);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-3);grid-row:span 3}
.pw-step b{font-weight:500;font-size:14px}
.pw-step p{font-size:13.5px;color:var(--ink-2)}
.pw-step .pw-mono{margin-top:2px}

/* the hash chain */
.pw-chain{display:flex;flex-direction:column;font-family:var(--mono);font-size:11.5px}
.pw-row{display:grid;grid-template-columns:22px minmax(0,1fr) 70px 70px;gap:8px;align-items:center;padding:7px 0;border-top:1px solid var(--line);color:var(--ink-2)}
.pw-row:first-child{border-top:0}
.pw-row .pw-txt{font-family:var(--sans);font-size:12.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pw-row .pw-h{color:var(--ink-3)}
.pw-row.is-bad .pw-txt,.pw-row.is-bad .pw-h{color:var(--brick-ink)}
.pw-row.is-bad .pw-h b{font-weight:500;text-decoration:underline wavy var(--brick)}
.pw-row.is-edited .pw-txt{color:var(--brick-ink);font-style:italic}
.pw-rowhead{color:var(--ink-3);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-family:var(--sans);font-weight:600}
.pw-anchor{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px;padding-top:8px;border-top:1px dashed var(--line-2);color:var(--ink-3)}

/* checks */
.pw-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pw-check{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}
.pw-check:first-child{border-top:0}
.pw-check small{grid-column:1/-1;color:var(--ink-3);font-size:12px}
.pw-check label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3);cursor:pointer}
.pw-check .chip{min-width:74px;justify-content:center}
.pw-verdict{font-size:14px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--line)}
.pw-verdict.ok{background:var(--moss-soft);color:var(--moss-ink);border-color:transparent}
.pw-verdict.bad{background:var(--brick-soft);color:var(--brick-ink);border-color:transparent}

/* lease */
.pw-lease{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.pw-agent{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border:1px solid var(--line);border-radius:var(--r-sm)}
.pw-agent i{width:18px;height:18px;border-radius:9999px}
.pw-agent span{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}
.pw-file{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--mono);font-size:11.5px;color:var(--ink-2);text-align:center}
.pw-lock{width:34px;height:34px;border-radius:var(--r-sm);border:1px dashed var(--line-2);display:inline-flex;align-items:center;justify-content:center;color:var(--ink-3);transition:all .3s}
.pw-lock.is-held{border-style:solid;border-color:var(--slate);background:var(--slate-soft);color:var(--slate-ink)}
.pw-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-family:var(--mono);font-size:11.5px;color:var(--ink-2);max-height:140px;overflow:auto}
.pw-log li{animation:pw-in .3s ease-out}
.pw-log .bad{color:var(--brick-ink)}.pw-log .ok{color:var(--moss-ink)}

/* ledger kinds, redaction, review */
.pw-entry{display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px 12px;font-size:12.5px}
.pw-entry dt{font-family:var(--mono);font-size:11.5px;color:var(--ink-3)}
.pw-entry dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.pw-entry dd.m{font-family:var(--mono);font-size:11.5px;color:var(--ink-2)}
.pw-red{background:var(--ink);color:var(--ink);border-radius:3px;padding:0 4px;font-family:var(--mono);font-size:11px}
.pw-revrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:13px}
.pw-revrow:first-child{border-top:0}
.pw-revrow .pw-btns .pw-btn{min-height:28px;padding:0 8px;font-size:12px}
.pw-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.pw-images .pw-btn{font-family:var(--mono)}
.pw-boot{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-family:var(--mono);font-size:11.5px;color:var(--ink-2)}
.pw-boot li{animation:pw-in .3s ease-out}

/* the list view: the same parts as disclosures, readable with no script at all */
.pm-list{display:none;flex-direction:column;gap:22px}
.pm[data-view="list"] .pm-list,.pm:not(.is-live) .pm-list{display:flex}
.pm[data-view="list"] .pm-stage,.pm[data-view="list"] .pm-steps,.pm[data-view="list"] .pm-narration{display:none}
.pm:not(.is-live) .pm-bar,.pm:not(.is-live) .pm-narration{display:none}
.pm-group{display:flex;flex-direction:column;gap:8px}
.pm-group-head{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.pm-group-sub{font-size:12.5px;color:var(--band-ink-2)}
.pm-item{background:var(--band-2);border:1px solid var(--band-line);border-radius:var(--r)}
.pm-item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:220px minmax(0,1fr);gap:4px 18px;padding:14px 16px;align-items:baseline}
.pm-item summary::-webkit-details-marker{display:none}
.pm-item-name{font-family:var(--serif);font-style:italic;font-size:23px;color:var(--band-ink)}
.pm-item-role{font-size:14px;color:var(--band-ink-2)}
.pm-item[open] summary{border-bottom:1px solid var(--band-line)}
.pm-item-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;padding:14px 16px 16px;font-size:14px;color:var(--band-ink-2)}
.pm-item-body ul{display:flex;flex-direction:column;gap:5px;margin-top:6px}
.pm-item-disk{grid-column:1/-1}
.pm-codes{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.pm-codes code{font-size:11.5px;border:1px solid var(--band-line);border-radius:4px;padding:3px 7px;color:var(--band-ink)}
.pm-item-open{margin-top:4px}

/* the sequence, on paper */
.pm-seq{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.pm-seq-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 14px;padding:22px 0;border-top:1px solid var(--line)}
.pm-seq-n{font-family:var(--mono);font-size:13px;color:var(--kelp-ink);padding-top:6px}
.pm-seq-step h3{font-size:28px;margin-bottom:8px}
.pm-seq-step p{font-size:14.5px;color:var(--ink-2)}
.pm-principles .card p{font-size:14.5px}

@media (max-width:1100px){
  .pm-seq{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* phones and narrow tablets: the panel becomes a sheet over the page */
@media (max-width:900px){
  .pm-canvas{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .pm.is-live .pm-hint{display:block}
  .pm-pan{transform:none!important}
  .pm-canvas .pm-svg{min-width:980px}
  .pm-panel{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:86vh;border-radius:16px 16px 0 0;z-index:900;transform:translateY(24px);border-color:var(--line-2);border-width:1px 0 0}
  .pm-stage.has-panel .pm-panel{transform:none}
  .pp-links{grid-template-columns:1fr}
  .pm-item summary{grid-template-columns:minmax(0,1fr)}
  .pm-item-body{grid-template-columns:minmax(0,1fr)}
  .pm-narration{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .pm-seq{grid-template-columns:minmax(0,1fr)}
  .pm-bar{gap:10px}
  .pm-steps{order:3;flex-basis:100%}
  .pw-images{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pw-row{grid-template-columns:18px minmax(0,1fr) 62px}
  .pw-row .pw-prev{display:none}
}
@media (prefers-reduced-motion:reduce){
  .pm-pan,.pm-panel,.pm-edge path.pm-e,.pm-node{transition:none}
  .pm-edge.is-on.is-dash path.pm-e,.pm-swarm.is-on .pm-a-talk{animation:none}
}
