:root{
  --v17-ease:cubic-bezier(.22,.72,.2,1);
}

html[data-casepath-experience="17.0.0"] .agent-progress{
  min-height:64px;
  padding:0 28px;
  overflow:visible;
}

.v17-progress-focus{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:10px 0;
}

.v17-progress-count{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:var(--canvas);
  border:1px solid var(--line);
  color:var(--muted);
  font-size:9px;
  line-height:1;
  font-weight:820;
}

.v17-progress-focus[data-state="active"] .v17-progress-count{
  color:#fff;
  background:var(--accent);
  border-color:var(--accent);
  box-shadow:0 0 0 5px var(--accent-soft);
}

.v17-progress-focus[data-state="complete"] .v17-progress-count{
  color:#fff;
  background:var(--green);
  border-color:var(--green);
}

.v17-progress-copy{
  min-width:0;
}

.v17-progress-copy small{
  display:block;
  margin-bottom:2px;
  color:var(--quiet);
  font-size:9px;
  font-weight:790;
  letter-spacing:.075em;
  text-transform:uppercase;
}

.v17-progress-copy strong{
  display:block;
  font-size:13px;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v17-progress-copy p{
  margin:2px 0 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v17-progress-next{
  max-width:190px;
  text-align:right;
  color:var(--muted);
  font-size:9px;
  line-height:1.35;
}

.v17-progress-next span{
  display:block;
  color:var(--quiet);
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:780;
}

.v17-progress-next strong{
  display:block;
  color:var(--ink);
  font-size:10px;
  font-weight:720;
}

.v17-law-map{
  max-width:880px;
  border-top:1px solid var(--line);
}

.v17-law-map-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:15px 0 11px;
  border-bottom:1px solid var(--line);
}

.v17-law-map-head strong{
  display:block;
  font-size:13px;
}

.v17-law-map-head p{
  max-width:510px;
  margin:3px 0 0;
  color:var(--muted);
  font-size:11px;
}

.v17-law-link{
  display:grid;
  grid-template-columns:minmax(0,1fr) 28px minmax(170px,.55fr);
  align-items:center;
  gap:14px;
  padding:15px 0;
  border-bottom:1px solid var(--line);
  animation:v17-rise .38s var(--v17-ease) both;
}

.v17-law-link:nth-child(3){animation-delay:80ms}
.v17-law-link:nth-child(4){animation-delay:160ms}
.v17-law-link:nth-child(5){animation-delay:240ms}

.v17-law-source small,
.v17-law-target small{
  display:block;
  margin-bottom:3px;
  color:var(--quiet);
  font-size:9px;
  font-weight:780;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.v17-law-source strong,
.v17-law-target strong{
  display:block;
  font-size:12px;
  line-height:1.4;
}

.v17-law-source p{
  margin:3px 0 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}

.v17-law-source a{
  display:inline-block;
  margin-top:5px;
  color:var(--blue);
  font-size:9px;
  font-weight:720;
  text-decoration:none;
}

.v17-law-arrow{
  position:relative;
  height:1px;
  background:var(--line-strong);
}

.v17-law-arrow:after{
  content:"";
  position:absolute;
  right:0;
  top:-3px;
  width:6px;
  height:6px;
  border-top:1px solid var(--line-strong);
  border-right:1px solid var(--line-strong);
  transform:rotate(45deg);
}

.v17-law-target{
  padding:10px 12px;
  border-left:2px solid var(--blue);
  background:linear-gradient(90deg,var(--blue-soft),transparent);
}

.v17-law-details{
  max-width:880px;
  margin-top:12px;
  border-bottom:1px solid var(--line);
}

.v17-law-details summary{
  cursor:pointer;
  padding:10px 0;
  color:var(--muted);
  font-size:10px;
  font-weight:720;
}

.v17-law-details .law-flow{
  margin-top:2px;
}

.v17-build-state{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:2px 0 20px;
  padding:12px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.v17-build-state>div{
  min-width:0;
}

.v17-build-state small{
  display:block;
  color:var(--quiet);
  font-size:9px;
  font-weight:780;
  letter-spacing:.075em;
  text-transform:uppercase;
}

.v17-build-state strong{
  display:block;
  margin-top:2px;
  font-size:12px;
}

.v17-build-state p{
  margin:2px 0 0;
  color:var(--muted);
  font-size:10px;
}

.v17-build-meter{
  width:126px;
  height:3px;
  overflow:hidden;
  flex:0 0 auto;
  border-radius:999px;
  background:var(--line);
}

.v17-build-meter span{
  display:block;
  width:100%;
  height:100%;
  background:var(--accent);
  transform-origin:left;
  animation:v17-meter 2.1s var(--v17-ease) both;
}

.process-layout.v17-process-live .process-node.v17-node-reveal{
  animation:v17-node-build .5s var(--v17-ease) both!important;
  animation-delay:var(--v17-delay,0ms)!important;
}

.process-layout.v17-process-live .process-node.v17-node-reveal:before{
  transform-origin:top;
  animation:v17-line-build .45s var(--v17-ease) both;
  animation-delay:calc(var(--v17-delay,0ms) + 230ms)!important;
}

.v17-evidence-chain{
  margin:0 0 18px;
  padding:14px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.v17-evidence-chain>header{
  margin-bottom:10px;
}

.v17-evidence-chain>header small{
  display:block;
  color:var(--accent);
  font-size:9px;
  font-weight:790;
  letter-spacing:.075em;
  text-transform:uppercase;
}

.v17-evidence-chain>header strong{
  display:block;
  margin-top:2px;
  font-size:11px;
}

.v17-chain-step{
  position:relative;
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:8px;
  padding:6px 0;
}

.v17-chain-step:not(:last-child):after{
  content:"";
  position:absolute;
  left:10px;
  top:28px;
  bottom:-3px;
  width:1px;
  background:var(--line-strong);
}

.v17-chain-index{
  width:21px;
  height:21px;
  border-radius:50%;
  display:grid;
  place-items:center;
  z-index:1;
  background:#fff;
  border:1px solid var(--line-strong);
  color:var(--muted);
  font-size:8px;
  font-weight:850;
}

.v17-chain-step:last-child .v17-chain-index{
  color:#fff;
  background:var(--accent);
  border-color:var(--accent);
}

.v17-chain-copy small{
  display:block;
  color:var(--quiet);
  font-size:8px;
  font-weight:770;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.v17-chain-copy strong{
  display:block;
  margin-top:1px;
  font-size:10px;
  line-height:1.4;
}

.v17-chain-copy p{
  margin:2px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
}

.v17-experience-note{
  display:grid;
  grid-template-columns:10px minmax(0,1fr);
  gap:9px;
  padding:11px 0 12px;
  border-top:1px solid var(--line);
}

.v17-experience-note>span{
  width:8px;
  height:8px;
  margin-top:4px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 5px var(--green-soft);
}

.v17-experience-note small{
  display:block;
  color:var(--quiet);
  font-size:8px;
  font-weight:780;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.v17-experience-note strong{
  display:block;
  margin-top:2px;
  font-size:10px;
  line-height:1.4;
}

.v17-derived-checklist h3{
  margin:3px 0 6px;
  font-size:21px;
  line-height:1.2;
  letter-spacing:-.025em;
}

.v17-derived-checklist>p{
  margin:0 0 17px;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}

.v17-checklist-groups{
  border-top:1px solid var(--line);
}

.v17-checklist-group{
  padding:13px 0 9px;
  border-bottom:1px solid var(--line);
}

.v17-checklist-group>header{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin-bottom:5px;
}

.v17-checklist-group h4{
  margin:0;
  font-size:11px;
}

.v17-checklist-group>header span{
  color:var(--muted);
  font-size:9px;
}

.v17-checklist-item{
  display:grid;
  grid-template-columns:9px minmax(0,1fr);
  gap:8px;
  padding:6px 0;
}

.v17-checklist-item>i{
  width:7px;
  height:7px;
  margin-top:4px;
  border-radius:50%;
  background:var(--green);
}

.v17-checklist-group[data-kind="needed"] .v17-checklist-item>i{background:var(--accent)}
.v17-checklist-group[data-kind="conditional"] .v17-checklist-item>i{background:var(--amber)}
.v17-checklist-group[data-kind="not-needed"] .v17-checklist-item>i{background:var(--quiet)}

.v17-checklist-item strong{
  display:block;
  font-size:10px;
  line-height:1.35;
}

.v17-checklist-item p{
  margin:2px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
}

.v17-checklist-more{
  margin-top:4px;
}

.v17-checklist-more summary{
  cursor:pointer;
  color:var(--accent);
  font-size:9px;
  font-weight:720;
}

.v17-acceptance{
  margin-top:14px;
}

.v17-acceptance summary{
  cursor:pointer;
  color:var(--muted);
  font-size:9px;
  font-weight:720;
}

.v17-review-applied{
  margin:0 0 24px;
  padding:17px 0 20px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  animation:v17-rise .42s var(--v17-ease) both;
}

.v17-review-applied>header{
  margin-bottom:13px;
}

.v17-review-applied>header small{
  display:block;
  color:var(--green);
  font-size:9px;
  font-weight:790;
  letter-spacing:.075em;
  text-transform:uppercase;
}

.v17-review-applied>header strong{
  display:block;
  margin-top:3px;
  font-size:16px;
  letter-spacing:-.02em;
}

.v17-review-delta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
}

.v17-review-delta article{
  position:relative;
  min-width:0;
  padding:0 18px 0 0;
}

.v17-review-delta article+article{
  padding-left:18px;
  border-left:1px solid var(--line);
}

.v17-review-delta small{
  display:block;
  margin-bottom:3px;
  color:var(--quiet);
  font-size:8px;
  font-weight:780;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.v17-review-delta strong{
  display:block;
  font-size:10px;
  line-height:1.45;
}

.knowledge-flow[data-v17-gates="true"]{
  margin-top:20px;
}

.knowledge-flow[data-v17-gates="true"] .knowledge-step{
  animation:v17-rise .36s var(--v17-ease) both;
}

.knowledge-flow[data-v17-gates="true"] .knowledge-step:nth-child(2){animation-delay:90ms}
.knowledge-flow[data-v17-gates="true"] .knowledge-step:nth-child(3){animation-delay:180ms}
.knowledge-flow[data-v17-gates="true"] .knowledge-step:nth-child(4){animation-delay:270ms}
.knowledge-flow[data-v17-gates="true"] .knowledge-step:nth-child(5){animation-delay:360ms}

.v17-reuse-thread{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin-top:20px;
  padding:15px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.v17-reuse-thread article{
  position:relative;
  min-width:0;
  padding-right:18px;
}

.v17-reuse-thread article:not(:last-child):after{
  content:"";
  position:absolute;
  right:7px;
  top:8px;
  width:8px;
  height:1px;
  background:var(--line-strong);
}

.v17-reuse-thread small{
  display:block;
  color:var(--quiet);
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:780;
}

.v17-reuse-thread strong{
  display:block;
  margin-top:3px;
  font-size:9px;
  line-height:1.35;
}

@keyframes v17-rise{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:none}
}

@keyframes v17-node-build{
  from{opacity:0;transform:translateY(12px) scale(.985)}
  to{opacity:1;transform:none}
}

@keyframes v17-line-build{
  from{transform:scaleY(0);opacity:0}
  to{transform:scaleY(1);opacity:1}
}

@keyframes v17-meter{
  from{transform:scaleX(0)}
  to{transform:scaleX(1)}
}

@media(prefers-reduced-motion:reduce){
  .v17-build-meter span,
  .process-layout.v17-process-live .process-node.v17-node-reveal,
  .process-layout.v17-process-live .process-node.v17-node-reveal:before,
  .v17-law-link,
  .v17-review-applied,
  .knowledge-flow[data-v17-gates="true"] .knowledge-step{
    animation-duration:.001ms!important;
    animation-delay:0ms!important;
  }
}

@media(max-width:760px){
  html[data-casepath-experience="17.0.0"] .agent-progress{padding:0 16px}
  .v17-progress-focus{grid-template-columns:auto minmax(0,1fr)}
  .v17-progress-next{display:none}
  .v17-law-link{grid-template-columns:1fr;gap:8px}
  .v17-law-arrow{width:1px;height:18px;margin-left:11px}
  .v17-law-arrow:after{right:-3px;top:auto;bottom:0;transform:rotate(135deg)}
  .v17-build-state{align-items:flex-start}
  .v17-build-meter{width:76px;margin-top:7px}
  .v17-review-delta{grid-template-columns:1fr}
  .v17-review-delta article{padding:8px 0}
  .v17-review-delta article+article{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .v17-reuse-thread{grid-template-columns:1fr}
  .v17-reuse-thread article{padding:7px 0;border-bottom:1px solid var(--line)}
  .v17-reuse-thread article:last-child{border-bottom:0}
  .v17-reuse-thread article:after{display:none}
}

@media(max-width:390px){
  html[data-casepath-experience="17.0.0"] .agent-progress{padding:0 12px}
  .v17-progress-count{width:30px;height:30px}
  .v17-progress-copy p{display:none}
  .v17-derived-checklist h3{font-size:19px}
}
