.pathway-chart{
  max-width:1120px;margin:0 auto;padding:24px;
  background:#F2EFE7;border:1px solid var(--line);border-radius:14px;
}
.pathway-chart [hidden]{display:none;}
.pathway-controls{
  display:grid;grid-template-columns:minmax(150px,220px) minmax(220px,360px);
  align-items:center;gap:8px 16px;margin-bottom:24px;
}
.pathway-controls label{font-size:14px;font-weight:800;color:var(--teal);}
.pathway-controls select{
  width:100%;min-height:46px;padding:10px 40px 10px 14px;border:1px solid #B8C7C5;
  border-radius:7px;background:#FAF8F4;color:var(--ink);font:700 15px 'Manrope',system-ui,sans-serif;
}
.pathway-controls select:focus-visible,.pathway-retry:focus-visible,.pathway-node:focus-visible{
  outline:3px solid var(--amber);outline-offset:3px;
}
.pathway-caption{grid-column:2;margin:0;color:var(--gray);font-size:13px;line-height:1.5;}
.pathway-status{display:flex;align-items:center;gap:12px;min-height:72px;color:var(--gray);font-size:14px;}
.pathway-skeleton{
  display:block;width:100%;height:12px;max-width:220px;border-radius:8px;
  background:linear-gradient(90deg,#DFE7E2 25%,#EDF0E9 50%,#DFE7E2 75%);background-size:220% 100%;
  animation:pathway-shimmer 1.5s ease-in-out infinite;
}
@keyframes pathway-shimmer{to{background-position:-220% 0;}}
.pathway-error{padding:18px 20px;background:#FBF1DE;border:1px solid #EBD8AE;border-radius:8px;color:#68400A;}
.pathway-error p{margin:0 0 12px;}
.pathway-retry{padding:9px 16px;border:1px solid var(--teal);border-radius:6px;background:var(--teal);color:var(--cream);font:700 14px 'Manrope',system-ui,sans-serif;cursor:pointer;}
.pathway-retry:hover{background:var(--teal-dark);}
.pathway-results[hidden],.pathway-error[hidden],.pathway-status[hidden]{display:none;}
.pathway-mode-note{
  margin:0 0 22px;padding:12px 16px;border-left:4px solid var(--amber);
  background:#FFF4DF;color:#68400A;font-size:14px;font-weight:700;
}
.pathway-sequence{
  display:grid;grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;gap:34px;
  overflow-x:auto;padding:16px 4px 22px;scrollbar-color:#B8C7C5 transparent;
}
.pathway-sequence.options{grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.pathway-node-wrap{position:relative;min-width:0;}
.pathway-sequence:not(.options) .pathway-node-wrap:not(:last-child)::after{
  content:"";position:absolute;z-index:0;top:24px;left:calc(100% + 6px);width:22px;height:2px;background:var(--amber);
}
.pathway-node{
  display:block;width:100%;min-height:100%;padding:0;text-align:left;border:1px solid #D5DAD3;
  border-radius:10px;background:#FAF8F4;color:var(--ink);cursor:pointer;overflow:hidden;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.pathway-node:hover{transform:translateY(-2px);border-color:var(--teal);box-shadow:0 8px 18px rgba(14,79,92,.09);}
.pathway-node[aria-expanded="true"]{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);}
.pathway-node-head{display:flex;align-items:flex-start;gap:12px;padding:18px 17px;}
.pathway-node-mark{
  display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;
  border-radius:50%;background:var(--teal);color:var(--cream);font-size:12px;font-weight:800;
}
.pathway-sequence.options .pathway-node-mark{background:#D98E2B;color:var(--ink);}
.pathway-node-title{display:block;color:var(--teal);font-size:15px;font-weight:800;line-height:1.45;}
.pathway-node-hint{display:block;margin-top:5px;color:var(--gray);font-size:12px;font-weight:600;}
.pathway-node-body{padding:0 18px 18px;border-top:1px solid var(--line);font-size:14px;line-height:1.65;}
.pathway-node-body[hidden]{display:none;}
.pathway-node-body p{margin:12px 0 0;color:var(--gray);}
.pathway-node-body strong{color:var(--ink);}
.pathway-sources{margin:12px 0 0;padding-left:18px;}
.pathway-sources a{color:var(--teal);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere;}
.pathway-sources a:hover{color:#7A4D11;}
.pathway-not-researched{
  margin:18px 0 22px;padding:13px 16px;border:1px solid #EBD8AE;border-radius:7px;
  background:#FFF4DF;color:#68400A;font-size:14px;font-weight:800;
}
.pathway-placeholders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.pathway-placeholder{background:#FAF8F4;border:1px solid var(--line);border-radius:9px;padding:20px 22px;}
.pathway-placeholder .meta{margin-bottom:8px;color:var(--amber);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.pathway-placeholder h3{margin:0 0 5px;color:var(--teal);font-size:18px;}
.pathway-placeholder p{margin:0;color:var(--gray);font-size:14px;}
.pathway-notes,.pathway-original{margin-top:24px;padding-top:18px;border-top:1px solid #D6D9D1;}
.pathway-notes h3,.pathway-original h3{margin:0 0 8px;color:var(--teal);font-size:15px;}
.pathway-notes ul{margin:0;padding-left:20px;color:var(--gray);font-size:14px;}
.pathway-original p{margin:0;color:var(--gray);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;}
.pathway-results > :first-child{margin-top:0;}
@media(max-width:767px){
  .pathway-chart{padding:18px 14px;border-radius:10px;}
  .pathway-controls{grid-template-columns:1fr;gap:7px;margin-bottom:18px;}
  .pathway-caption{grid-column:1;margin-top:2px;}
  .pathway-sequence,.pathway-sequence.options{display:grid;grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr;gap:16px;overflow:visible;padding:10px 2px;}
  .pathway-sequence:not(.options) .pathway-node-wrap:not(:last-child)::after{
    top:calc(100% + 1px);left:29px;width:2px;height:15px;
  }
  .pathway-placeholder{padding:18px;}
  .pathway-placeholders{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
  .pathway-skeleton{animation:none;background:#DFE7E2;}
  .pathway-node{transition:none;}
}
