.app-shell.paths-active { grid-template-columns: 3.5rem minmax(0, 1fr); }
.app-shell.paths-active .sidebar,
.app-shell.paths-active .context-panel { display: none; }
.app-shell.paths-active .workspace { grid-column: 2; }

.paths-view:not([hidden]) {
  display: flex;
  min-height: 0;
  flex: 1 1 auto;
  flex-direction: column;
  overflow: auto;
  overscroll-behavior: contain;
  background:
    radial-gradient(ellipse at 51% -20%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 42%),
    var(--bg);
  padding: clamp(1.35rem, 4vw, 3.25rem) clamp(1rem, 5vw, 4.2rem) 3.5rem;
  scrollbar-color: var(--line2) transparent;
  scrollbar-width: thin;
}
.paths-page-head { width: min(100%, 76rem); margin: 0 auto 1.65rem; }
.paths-brand-row { display: flex; align-items: center; gap: .62rem; margin-bottom: .8rem; }
.paths-brand-mark { display: grid; width: 1.55rem; height: 1.55rem; place-items: center; border: 1px solid color-mix(in srgb, var(--accent) 52%, transparent); border-radius: .52rem; background: linear-gradient(145deg, color-mix(in srgb, var(--accent) 24%, var(--panel)), var(--panel)); color: var(--accent); font: 700 .8rem Georgia; box-shadow: inset 0 1px #ffffff25, 0 4px 12px #0002; }
.paths-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 1.25rem; }
.paths-heading-row h1 { margin: 0; color: var(--text); font: 600 clamp(2rem, 4vw, 3.2rem)/1.02 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
.paths-heading-row p { max-width: 32rem; margin: .55rem 0 0; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.paths-primary-actions { display: flex; align-items: end; gap: .5rem; }
.paths-scope-control,.paths-picker-control { display: grid; min-width: 9rem; gap: .3rem; color: var(--muted); font-size: .58rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.paths-scope-control select,.paths-picker { min-width: 0; min-height: 2.55rem; border: 1px solid var(--line); border-radius: .7rem; outline: none; background: var(--panel); padding: 0 .8rem; color: var(--text); font-size: .72rem; font-weight: 650; letter-spacing: normal; text-transform: none; }
.paths-scope-control select:focus-visible,.paths-picker:focus-visible,.paths-view button:focus-visible,.paths-dialog :focus-visible { outline: none; box-shadow: 0 0 0 3px color-mix(in srgb,var(--accent) 27%,transparent); }
.paths-primary-button,.paths-secondary-button,.paths-quiet-button,.paths-danger-button { display: inline-flex; min-height: 2.55rem; align-items: center; justify-content: center; gap: .38rem; border: 1px solid var(--line2); border-radius: .7rem; background: var(--raised); padding: .55rem .83rem; color: var(--text); font-size: .68rem; font-weight: 720; white-space: nowrap; transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease; }
.paths-primary-button { border-color: color-mix(in srgb,var(--accent2) 84%,#fff 4%); background: linear-gradient(180deg,color-mix(in srgb,var(--accent) 24%,var(--accent2)),var(--accent2)); color: white; box-shadow: inset 0 1px #ffffff3d, 0 4px 13px color-mix(in srgb,var(--accent2) 23%,transparent); }
.paths-primary-button:hover { transform: translateY(-1px); background: linear-gradient(180deg,color-mix(in srgb,var(--accent) 38%,var(--accent2)),var(--accent2)); box-shadow: inset 0 1px #ffffff4c, 0 7px 18px color-mix(in srgb,var(--accent2) 28%,transparent); }
.paths-primary-button:active,.paths-secondary-button:active { transform: translateY(1px); }
.paths-secondary-button:hover { border-color: color-mix(in srgb,var(--accent) 58%,var(--line)); background: var(--soft); color: var(--text); }
.paths-quiet-button { border-color: transparent; background: transparent; color: var(--muted); }
.paths-quiet-button:hover { border-color: var(--line); background: var(--panel2); color: var(--text); }
.paths-danger-button { border-color: transparent; background: transparent; color: color-mix(in srgb,var(--danger) 78%,var(--muted)); }
.paths-danger-button:hover { border-color: color-mix(in srgb,var(--danger) 28%,var(--line)); background: color-mix(in srgb,var(--danger) 9%,var(--panel)); color: var(--danger); }
.paths-primary-button:disabled,.paths-secondary-button:disabled,.paths-node-action:disabled,.paths-node-complete:disabled { cursor: not-allowed; opacity: .48; transform: none; }
.paths-live-message { width: min(100%, 76rem); margin: 0 auto 1rem; border: 1px solid color-mix(in srgb,var(--accent) 34%,var(--line)); border-radius: .68rem; background: color-mix(in srgb,var(--accent) 8%,var(--panel)); padding: .72rem .9rem; color: var(--text); font-size: .7rem; line-height: 1.5; }
.paths-live-message[data-kind="error"] { border-color: color-mix(in srgb,var(--danger) 42%,var(--line)); background: color-mix(in srgb,var(--danger) 8%,var(--panel)); }
.paths-content { width: min(100%, 76rem); margin: 0 auto; }
.paths-toolbar { display: flex; min-height: 3.5rem; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .85rem; border: 1px solid var(--line); border-radius: .82rem; background: color-mix(in srgb,var(--panel) 92%,transparent); padding: .42rem .65rem; }
.paths-picker-control { display: flex; min-width: min(24rem,70%); align-items: center; gap: .7rem; }
.paths-picker-control > span { flex: 0 0 auto; }
.paths-picker { width: min(19rem,55vw); min-height: 2.35rem; }
.paths-role-note { color: var(--muted); font-size: .64rem; }
.paths-summary { --path-accent: var(--accent); display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 1.1rem; min-height: 9rem; overflow: hidden; position: relative; border: 1px solid color-mix(in srgb,var(--path-accent) 31%,var(--line)); border-radius: 1rem; background: linear-gradient(112deg,color-mix(in srgb,var(--path-accent) 12%,var(--panel)) 0%,var(--panel) 51%,color-mix(in srgb,var(--path-accent) 6%,var(--panel)) 100%); padding: 1.2rem 1.35rem; box-shadow: 0 12px 38px #0002, inset 0 1px #ffffff0a; }
.paths-summary::after { position: absolute; top: -4rem; right: 20%; width: 15rem; height: 15rem; border: 1px solid color-mix(in srgb,var(--path-accent) 9%,transparent); border-radius: 50%; box-shadow: 0 0 0 1.5rem color-mix(in srgb,var(--path-accent) 3%,transparent),0 0 0 3rem color-mix(in srgb,var(--path-accent) 2%,transparent); content: ""; pointer-events: none; }
.paths-summary[data-color="indigo"] { --path-accent: #988aff; }
.paths-summary[data-color="teal"] { --path-accent: #62cbb6; }
.paths-summary[data-color="amber"] { --path-accent: #e6b96e; }
.paths-summary[data-color="rose"] { --path-accent: #ea8eaa; }
.paths-summary-mark { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; border: 1px solid color-mix(in srgb,var(--path-accent) 55%,var(--line)); border-radius: 1.05rem; background: linear-gradient(145deg,color-mix(in srgb,var(--path-accent) 28%,var(--raised)),color-mix(in srgb,var(--path-accent) 10%,var(--panel2))); color: var(--path-accent); font: 700 1.45rem Georgia; box-shadow: inset 0 1px #ffffff36,0 5px 13px #0003; }
.paths-summary-copy { position: relative; z-index: 1; min-width: 0; }
.paths-summary-copy .eyebrow { color: var(--path-accent); font-size: .55rem; }
.paths-summary-copy h2 { overflow: hidden; margin: .35rem 0 .24rem; font: 600 clamp(1.2rem,2vw,1.75rem)/1.12 Georgia,serif; letter-spacing: -.025em; text-overflow: ellipsis; }
.paths-summary-copy p { max-width: 42rem; margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.paths-progress-meter { position: relative; z-index: 1; display: grid; width: 4.35rem; height: 4.35rem; place-items: center; }
.paths-progress-meter svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.paths-meter-track,.paths-meter-value { fill: none; stroke-width: 5; }
.paths-meter-track { stroke: color-mix(in srgb,var(--path-accent) 12%,var(--line)); }
.paths-meter-value { stroke: var(--path-accent); stroke-linecap: round; transition: stroke-dasharray .36s ease; filter: drop-shadow(0 0 4px color-mix(in srgb,var(--path-accent) 40%,transparent)); }
.paths-meter-percent { position: absolute; color: var(--text); font-size: .8rem; font-weight: 800; }
.paths-progress-copy { position: relative; z-index: 1; display: grid; gap: .15rem; min-width: 5.3rem; padding-right: .4rem; }
.paths-progress-copy strong { font: 600 1.15rem Georgia,serif; }
.paths-progress-copy span { color: var(--muted); font-size: .59rem; }
.paths-path-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.05rem 0 1.25rem; }
.paths-path-actions p { margin: 0; color: var(--muted); font-size: .67rem; }
.paths-action-group { display: flex; align-items: center; gap: .32rem; }
.paths-action-group .paths-primary-button,.paths-action-group .paths-secondary-button,.paths-action-group .paths-quiet-button,.paths-action-group .paths-danger-button { min-height: 2.2rem; padding: .4rem .62rem; font-size: .62rem; }
.paths-next-step { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .3rem 1rem; margin: 0 auto 2.2rem; border: 1px solid color-mix(in srgb,var(--accent) 21%,var(--line)); border-radius: .85rem; background: linear-gradient(110deg,color-mix(in srgb,var(--soft) 53%,var(--panel)),var(--panel)); padding: .85rem 1rem; }
.paths-next-kicker { grid-column: 1/-1; color: var(--accent); font-size: .54rem; font-weight: 800; letter-spacing: .13em; }
.paths-next-main { display: flex; min-width: 0; flex-direction: column; gap: .24rem; }
.paths-next-main strong { overflow: hidden; font-size: .82rem; text-overflow: ellipsis; }
.paths-next-main span,.paths-next-step > span:last-child { color: var(--muted); font-size: .62rem; }
.paths-next-actions { display: flex; align-items: center; justify-content: end; gap: .3rem; }
.paths-next-focus { min-height: 2.2rem; padding: 0 .8rem; font-size: .62rem; }
.paths-next-route { min-height: 2.2rem; padding: 0 .55rem; font-size: .6rem; }
.paths-focus-dialog { --focus-accent: var(--accent); width: min(43rem,calc(100vw - 2rem)); max-height: min(88dvh,48rem); overflow: auto; border: 1px solid color-mix(in srgb,var(--focus-accent) 34%,var(--line2)); border-radius: 1.15rem; background: radial-gradient(ellipse at 75% -20%,color-mix(in srgb,var(--focus-accent) 16%,transparent),transparent 48%),var(--panel); padding: 0; box-shadow: 0 28px 100px #0009,inset 0 1px #ffffff13; }
.paths-focus-dialog[data-color="indigo"] { --focus-accent: #a498ff; }
.paths-focus-dialog[data-color="teal"] { --focus-accent: #62cbb6; }
.paths-focus-dialog[data-color="amber"] { --focus-accent: #e6b96e; }
.paths-focus-dialog[data-color="rose"] { --focus-accent: #ea8eaa; }
.paths-focus-dialog[open] { animation: paths-focus-enter .22s cubic-bezier(.2,.8,.2,1) both; }
.paths-focus-dialog .paths-focus-shell { gap: 1.05rem; padding: clamp(1rem,3.5vw,1.65rem); }
.paths-focus-dialog .paths-focus-shell > header { align-items: start; margin: 0; }
.paths-focus-shell > header .eyebrow { color: var(--focus-accent); font-size: .53rem; }
.paths-focus-shell > header h2 { max-width: 34rem; margin: .35rem 0 0; color: var(--text); font: 600 clamp(1.45rem,4vw,2.15rem)/1.12 Georgia,serif; letter-spacing: -.03em; overflow-wrap: anywhere; }
.paths-focus-context { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: .3rem .48rem; margin: 0; color: var(--muted); font-size: .64rem; }
.paths-focus-crumb { max-width: 16rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.paths-focus-crumb:last-child { color: var(--text); font-weight: 700; }
.paths-focus-separator { color: var(--focus-accent); }
.paths-focus-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.paths-focus-kind { display: inline-flex; min-height: 1.5rem; align-items: center; border-radius: 99px; background: color-mix(in srgb,var(--focus-accent) 12%,var(--panel2)); padding: .2rem .55rem; color: var(--focus-accent); font-size: .58rem; font-weight: 750; }
.paths-focus-description { margin: 0; border-left: 2px solid color-mix(in srgb,var(--focus-accent) 58%,transparent); padding: .1rem 0 .1rem .8rem; color: var(--muted); font-size: .74rem; line-height: 1.65; white-space: pre-wrap; }
.paths-focus-substep-section { display: grid; gap: .55rem; }
.paths-focus-substep-section > header { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
.paths-focus-substep-section > header h3 { margin: 0; color: var(--text); font: 600 1rem Georgia,serif; }
.paths-focus-substep-section > header span { color: var(--muted); font-size: .59rem; }
.paths-focus-substeps { display: grid; gap: .38rem; margin: 0; padding: 0; list-style: none; }
.paths-focus-substep { display: flex; width: 100%; min-height: 3.15rem; align-items: center; gap: .7rem; border: 1px solid var(--line); border-radius: .72rem; background: color-mix(in srgb,var(--panel2) 65%,var(--panel)); padding: .55rem .68rem; color: var(--text); text-align: left; transition: border-color .16s ease,background .16s ease,transform .16s ease; }
button.paths-focus-substep { cursor: pointer; }
button.paths-focus-substep:hover { transform: translateY(-1px); border-color: color-mix(in srgb,var(--focus-accent) 48%,var(--line)); background: color-mix(in srgb,var(--focus-accent) 6%,var(--panel2)); }
.paths-focus-substep.is-done { border-color: color-mix(in srgb,var(--green) 34%,var(--line)); background: color-mix(in srgb,var(--green) 5%,var(--panel2)); }
.paths-focus-check { display: grid; width: 1.35rem; height: 1.35rem; flex: 0 0 auto; place-items: center; border: 1px solid color-mix(in srgb,var(--focus-accent) 44%,var(--line)); border-radius: .45rem; background: color-mix(in srgb,var(--focus-accent) 8%,var(--panel)); color: var(--focus-accent); font-size: .7rem; font-weight: 850; }
.paths-focus-substep.is-done .paths-focus-check { border-color: color-mix(in srgb,var(--green) 55%,var(--line)); background: color-mix(in srgb,var(--green) 19%,var(--panel)); color: var(--green); }
.paths-focus-substep-copy { display: grid; min-width: 0; gap: .16rem; }
.paths-focus-substep-copy strong { overflow: hidden; font-size: .69rem; font-weight: 680; text-overflow: ellipsis; }
.paths-focus-substep-copy small { color: var(--muted); font-size: .55rem; }
.paths-focus-substeps-empty { border: 1px dashed var(--line2); border-radius: .7rem; padding: .8rem; color: var(--muted); font-size: .65rem; line-height: 1.5; }
.paths-focus-note { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .7rem; border-top: 1px solid var(--line); padding-top: .8rem; }
.paths-focus-note[hidden] { display: none; }
.paths-focus-note .eyebrow { color: var(--focus-accent); font-size: .5rem; }
.paths-focus-note-link { max-width: 100%; overflow: hidden; border: 0; border-radius: .45rem; background: color-mix(in srgb,var(--focus-accent) 8%,var(--panel)); padding: .48rem .6rem; color: var(--focus-accent); font-size: .63rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.paths-focus-note-link:hover { background: color-mix(in srgb,var(--focus-accent) 14%,var(--panel)); }
.paths-focus-note-unavailable,.paths-focus-readonly { color: var(--muted); font-size: .6rem; }
.paths-focus-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .4rem; border-top: 1px solid var(--line); padding-top: .75rem; }
.paths-focus-actions .paths-primary-button { min-height: 2.45rem; padding-inline: .9rem; font-size: .65rem; }
.paths-route-section { position: relative; padding-bottom: 1.5rem; }
.paths-route-heading { display: flex; align-items: center; gap: .7rem; margin: 0 auto 1.2rem; }
.paths-route-pin { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border: 1px solid var(--line2); border-radius: .72rem; background: var(--panel); color: var(--muted); font-size: .62rem; font-weight: 800; }
.paths-route-heading .eyebrow { font-size: .54rem; }
.paths-route-heading h3 { margin: .16rem 0 0; font: 600 1.1rem Georgia,serif; }
.paths-route { position: relative; display: flex; width: min(100%, 62rem); flex-direction: column; gap: 0; margin: 0 auto; padding: .3rem 0 0; list-style: none; }
.paths-route-line { position: absolute; z-index: 0; inset: 0 0 auto; width: 100%; height: max(100%,var(--route-height,1px)); overflow: visible; pointer-events: none; }
.paths-route-rail { fill: none; stroke: color-mix(in srgb,var(--accent) 17%,var(--line)); stroke-width: 5; stroke-linecap: round; stroke-dasharray: 2 11; }
.paths-route-rail-active { stroke: color-mix(in srgb,var(--accent) 53%,transparent); stroke-width: 2; stroke-dasharray: 1 16; }
.paths-stop { position: relative; z-index: 1; display: flex; width: 100%; min-height: 12.9rem; align-items: center; }
.paths-stop.is-left { justify-content: flex-start; padding-left: 7%; }
.paths-stop.is-right { justify-content: flex-end; padding-right: 7%; }
.paths-node-card { --node-accent: var(--accent); position: relative; width: min(28rem,78%); border: 1px solid color-mix(in srgb,var(--node-accent) 19%,var(--line)); border-radius: .95rem; background: linear-gradient(144deg,color-mix(in srgb,var(--node-accent) 5%,var(--panel)),var(--panel) 54%); padding: .85rem .9rem .7rem; box-shadow: 0 8px 23px #0002,inset 0 1px #ffffff0b; transition: border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.paths-node-card[data-color="indigo"] { --node-accent: #988aff; }
.paths-node-card[data-color="teal"] { --node-accent: #62cbb6; }
.paths-node-card[data-color="amber"] { --node-accent: #e6b96e; }
.paths-node-card[data-color="rose"] { --node-accent: #ea8eaa; }
.paths-node-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb,var(--node-accent) 39%,var(--line)); box-shadow: 0 13px 27px #0003,inset 0 1px #ffffff0d; }
.paths-drag-handle { display: grid; width: 1.65rem; height: 1.65rem; flex: 0 0 auto; place-items: center; border: 1px solid var(--line); border-radius: .48rem; background: color-mix(in srgb,var(--panel2) 84%,transparent); color: var(--muted); padding: 0; font-size: .9rem; line-height: 1; cursor: grab; touch-action: none; user-select: none; transition: border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease; }
.paths-drag-handle:hover { border-color: color-mix(in srgb,var(--accent) 58%,var(--line)); background: color-mix(in srgb,var(--accent) 11%,var(--panel)); color: var(--accent); }
.paths-drag-handle:active { transform: scale(.94); cursor: grabbing; }
.paths-stop.is-dragging .paths-node-card,.paths-child.is-dragging .paths-node-card { opacity: .58; transform: scale(.985); }
.paths-stop.is-drop-target .paths-node-card,.paths-child.is-drop-target .paths-node-card { border-color: color-mix(in srgb,var(--accent) 72%,var(--line)); box-shadow: 0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent),0 11px 25px #0003; }
.paths-stop.is-drop-target[data-drop-position="before"] .paths-node-card::before,.paths-child.is-drop-target[data-drop-position="before"] .paths-node-card::before,.paths-stop.is-drop-target[data-drop-position="after"] .paths-node-card::after,.paths-child.is-drop-target[data-drop-position="after"] .paths-node-card::after { position: absolute; z-index: 3; right: .7rem; left: .7rem; height: 3px; border-radius: 999px; background: var(--accent); box-shadow: 0 0 11px color-mix(in srgb,var(--accent) 76%,transparent); content: \"\"; pointer-events: none; }
.paths-stop.is-drop-target[data-drop-position="before"] .paths-node-card::before,.paths-child.is-drop-target[data-drop-position="before"] .paths-node-card::before { top: -.55rem; }
.paths-stop.is-drop-target[data-drop-position="after"] .paths-node-card::after,.paths-child.is-drop-target[data-drop-position="after"] .paths-node-card::after { bottom: -.55rem; }
.paths-node-card.is-complete { border-color: color-mix(in srgb,var(--green) 42%,var(--line)); background: linear-gradient(144deg,color-mix(in srgb,var(--green) 7%,var(--panel)),var(--panel) 58%); }
.paths-node-topline { display: flex; min-height: 1.3rem; flex-wrap: wrap; align-items: center; gap: .32rem; }
.paths-kind,.paths-optional-chip,.paths-deadline { display: inline-flex; min-height: 1.25rem; align-items: center; border-radius: 99px; background: color-mix(in srgb,var(--node-accent) 10%,var(--panel2)); padding: .18rem .48rem; color: var(--node-accent); font-size: .52rem; font-weight: 750; }
.paths-kind-task { --node-accent: #a8a4ba; }
.paths-kind-goal { --node-accent: #8fc9d8; }
.paths-kind-note { --node-accent: #c2a4ea; }
.paths-optional-chip { background: color-mix(in srgb,var(--accent) 7%,var(--panel)); color: var(--muted); }
.paths-deadline { margin-left: auto; background: var(--panel2); color: var(--muted); font-weight: 600; }
.paths-deadline.is-past { color: color-mix(in srgb,var(--danger) 78%,var(--muted)); }
.paths-node-main { display: flex; align-items: start; gap: .72rem; margin-top: .55rem; }
.paths-node-complete { position: relative; z-index: 1; display: grid; width: 3.1rem; height: 3.1rem; flex: 0 0 auto; place-items: center; border: 1px solid color-mix(in srgb,var(--node-accent) 58%,var(--line)); border-radius: 50%; background: radial-gradient(circle at 32% 24%,color-mix(in srgb,var(--node-accent) 40%,#fff),color-mix(in srgb,var(--node-accent) 22%,var(--raised)) 42%,color-mix(in srgb,var(--node-accent) 13%,var(--panel2))); color: var(--node-accent); font-size: .72rem; font-weight: 850; box-shadow: inset 0 1px #ffffff55,0 4px 0 color-mix(in srgb,var(--node-accent) 28%,#000),0 7px 13px #0003; isolation: isolate; transition: transform .16s ease,background .16s ease,box-shadow .16s ease; }
.paths-node-complete::before { position: absolute; z-index: -1; inset: .2rem; border: 1px solid #ffffff36; border-radius: inherit; content: ""; pointer-events: none; }
.paths-node-complete.is-current:not(.is-done)::after { position: absolute; z-index: -2; inset: -.28rem; border: 1px solid color-mix(in srgb,var(--node-accent) 56%,transparent); border-radius: inherit; content: ""; animation: paths-node-ready 2.6s ease-out infinite; pointer-events: none; }
.paths-node-complete:hover:not(:disabled) { transform: translateY(-1px); box-shadow: inset 0 1px #ffffff4c,0 4px 0 color-mix(in srgb,var(--node-accent) 28%,#000),0 9px 14px #0003; }
.paths-node-complete:active:not(:disabled) { transform: translateY(2px); box-shadow: inset 0 1px #ffffff24,0 1px 0 color-mix(in srgb,var(--node-accent) 22%,#000),0 3px 8px #0002; }
.paths-node-complete.is-done { border-color: color-mix(in srgb,var(--green) 64%,var(--line)); background: linear-gradient(145deg,color-mix(in srgb,var(--green) 47%,var(--raised)),color-mix(in srgb,var(--green) 23%,var(--panel))); color: #e9fff4; box-shadow: inset 0 1px #ffffff55,0 3px 0 color-mix(in srgb,var(--green) 43%,#000),0 6px 12px #0002; }
.paths-confetti { position: absolute; z-index: 3; inset: -.5rem; overflow: visible; border-radius: 50%; pointer-events: none; }
.paths-confetti-piece { position: absolute; top: 50%; left: 50%; width: .24rem; height: .38rem; border-radius: 2px; background: #b8a3ff; animation: paths-confetti-burst 1.05s cubic-bezier(.12,.7,.28,1) both; }
.paths-confetti-piece:nth-child(2n) { width: .3rem; height: .22rem; border-radius: 50%; background: #f0c87d; }
.paths-confetti-piece:nth-child(3n) { background: #81d9b3; }
.paths-confetti-piece:nth-child(1) { --burst-x: -1.35rem; --burst-y: -1.55rem; --burst-rotation: -145deg; }
.paths-confetti-piece:nth-child(2) { --burst-x: -.2rem; --burst-y: -1.9rem; --burst-rotation: 105deg; }
.paths-confetti-piece:nth-child(3) { --burst-x: 1.35rem; --burst-y: -1.48rem; --burst-rotation: 165deg; }
.paths-confetti-piece:nth-child(4) { --burst-x: 1.82rem; --burst-y: -.35rem; --burst-rotation: -100deg; }
.paths-confetti-piece:nth-child(5) { --burst-x: 1.42rem; --burst-y: 1.38rem; --burst-rotation: 155deg; }
.paths-confetti-piece:nth-child(6) { --burst-x: .18rem; --burst-y: 1.84rem; --burst-rotation: 245deg; }
.paths-confetti-piece:nth-child(7) { --burst-x: -1.45rem; --burst-y: 1.34rem; --burst-rotation: -35deg; }
.paths-confetti-piece:nth-child(8) { --burst-x: -1.88rem; --burst-y: -.3rem; --burst-rotation: 70deg; }
.paths-confetti-piece:nth-child(9) { --burst-x: -.9rem; --burst-y: -.92rem; --burst-rotation: 195deg; }
.paths-confetti-piece:nth-child(10) { --burst-x: 1rem; --burst-y: .92rem; --burst-rotation: -175deg; }
.paths-node-copy { min-width: 0; flex: 1; }
.paths-node-title { display: block; max-width: 100%; overflow: hidden; border: 0; background: transparent; padding: .05rem 0; color: var(--text); font: 600 1rem/1.24 Georgia,serif; letter-spacing: -.015em; text-align: left; text-overflow: ellipsis; }
.paths-node-title:hover { color: var(--node-accent); }
.paths-node-description { margin: .27rem 0 0; color: var(--muted); font-size: .65rem; line-height: 1.5; }
.paths-node-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; margin-top: .48rem; color: var(--muted); font-size: .56rem; }
.paths-note-link { overflow: hidden; max-width: 100%; border: 0; background: transparent; padding: 0; color: color-mix(in srgb,var(--node-accent) 83%,var(--muted)); font-size: .57rem; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.paths-node-actions { display: flex; min-height: 1.8rem; align-items: center; gap: .22rem; margin-top: .52rem; border-top: 1px solid color-mix(in srgb,var(--line) 62%,transparent); padding-top: .38rem; }
.paths-node-expand,.paths-node-action,.paths-move-button { min-height: 1.75rem; border: 1px solid transparent; border-radius: .45rem; background: transparent; padding: .22rem .43rem; color: var(--muted); font-size: .54rem; font-weight: 680; }
.paths-node-expand { margin-right: auto; color: var(--node-accent); }
.paths-node-expand:hover,.paths-node-action:hover,.paths-move-button:hover { border-color: var(--line); background: var(--panel2); color: var(--text); }
.paths-node-action.is-danger:hover { color: var(--danger); }
.paths-node-action:disabled,.paths-move-button:disabled { opacity: .35; cursor: not-allowed; }
.paths-substeps { position: relative; display: grid; gap: .48rem; margin: -.2rem 0 1rem; padding: .15rem 0 .15rem clamp(.72rem,3vw,2rem); }
.paths-substeps::before { position: absolute; top: 0; bottom: 0; left: .18rem; width: 1px; background: linear-gradient(var(--line2),color-mix(in srgb,var(--accent) 28%,var(--line)),var(--line)); content: ""; }
.paths-child { position: relative; display: grid; gap: .35rem; padding-left: .38rem; }
.paths-child::before { position: absolute; top: 1.25rem; left: -.55rem; width: .62rem; border-top: 1px solid var(--line2); content: ""; }
.paths-node-card.is-nested { width: 100%; border-radius: .72rem; padding: .65rem .68rem .55rem; background: color-mix(in srgb,var(--panel2) 69%,var(--panel)); box-shadow: none; }
.paths-node-card.is-nested .paths-node-complete { width: 2.45rem; height: 2.45rem; border-radius: 50%; font-size: .63rem; }
.paths-node-card.is-nested .paths-node-title { font-family: inherit; font-size: .78rem; font-weight: 690; letter-spacing: 0; }
.paths-node-card.is-nested .paths-node-actions { margin-top: .34rem; }
.paths-substeps-empty { margin: 0; color: var(--muted); font-size: .59rem; }
.paths-finish { position: relative; z-index: 1; display: grid; justify-items: center; gap: .35rem; padding: 1.15rem 0 .5rem; color: var(--muted); font-size: .57rem; }
.paths-finish-mark { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border: 1px solid color-mix(in srgb,var(--accent) 34%,var(--line)); border-radius: 50%; background: var(--panel); color: var(--accent); font-size: 1rem; }
.paths-route-empty { display: grid; justify-items: center; gap: .6rem; max-width: 31rem; margin: 1rem auto 2rem; border: 1px dashed color-mix(in srgb,var(--accent) 35%,var(--line)); border-radius: 1rem; background: color-mix(in srgb,var(--accent) 4%,var(--panel)); padding: 2rem; text-align: center; }
.paths-empty-orbit,.paths-empty-mark,.paths-loading-mark { display: grid; width: 3.1rem; height: 3.1rem; place-items: center; border: 1px solid color-mix(in srgb,var(--accent) 44%,var(--line)); border-radius: 1rem; background: linear-gradient(145deg,color-mix(in srgb,var(--accent) 18%,var(--panel2)),var(--panel)); color: var(--accent); font-size: 1.2rem; box-shadow: inset 0 1px #ffffff2b,0 5px 14px #0002; }
.paths-route-empty strong { font: 600 1.05rem Georgia,serif; }
.paths-route-empty p { max-width: 23rem; margin: 0; color: var(--muted); font-size: .67rem; line-height: 1.6; }
.paths-empty-state { display: grid; justify-items: center; max-width: 37rem; min-height: min(54vh,32rem); align-content: center; gap: .75rem; margin: 0 auto; padding: 2rem 1rem; text-align: center; }
.paths-empty-state .paths-empty-mark { width: 4.2rem; height: 4.2rem; margin-bottom: .35rem; border-radius: 1.35rem; font-size: 1.65rem; }
.paths-empty-state .eyebrow { font-size: .55rem; }
.paths-empty-state h2 { margin: 0; font: 600 clamp(1.45rem,3vw,2.15rem) Georgia,serif; letter-spacing: -.025em; }
.paths-empty-state p { max-width: 32rem; margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.65; }
.paths-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: .45rem; }
.paths-empty-state.is-loading .paths-loading-mark { animation: paths-orbit 1.8s ease-in-out infinite; }
.path-celebration { animation: path-complete-bloom .72s cubic-bezier(.16,.8,.24,1) both; }
.path-celebration .paths-node-complete { animation: path-complete-pop .55s cubic-bezier(.18,.85,.25,1.25) both; }

.paths-dialog { width: min(36rem,calc(100vw - 2rem)); max-height: min(92dvh,48rem); overflow: auto; border: 1px solid var(--line2); border-radius: 1rem; background: var(--panel); padding: 1.25rem; color: var(--text); box-shadow: 0 25px 90px #0008; }
.paths-dialog::backdrop { background: #08060dbd; backdrop-filter: blur(6px); }
.paths-dialog form { display: grid; gap: .85rem; }
.paths-dialog header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin-bottom: .15rem; }
.paths-dialog header h2 { margin: .25rem 0 0; font: 600 1.45rem Georgia,serif; }
.paths-dialog label:not(.paths-check-label),.paths-dialog .paths-color-picker { display: grid; min-width: 0; gap: .35rem; color: var(--muted); font-size: .66rem; font-weight: 680; }
.paths-dialog input:not([type=radio]):not([type=checkbox]),.paths-dialog textarea,.paths-dialog select { width: 100%; min-height: 2.7rem; border: 1px solid var(--line); border-radius: .62rem; outline: 0; background: var(--panel2); padding: .65rem .75rem; color: var(--text); font-size: .73rem; font-weight: 450; resize: vertical; }
.paths-dialog textarea { min-height: 5.4rem; line-height: 1.5; }
.paths-dialog input[type=date] { color-scheme: dark; }
:root.light .paths-dialog input[type=date] { color-scheme: light; }
.paths-dialog input:focus,.paths-dialog textarea:focus,.paths-dialog select:focus { border-color: var(--accent); }
.paths-dialog footer { display: flex; justify-content: end; gap: .45rem; padding-top: .3rem; }
.paths-dialog-error { min-height: 1rem; margin: 0; color: var(--danger); font-size: .63rem; }
.paths-color-picker { margin: .1rem 0; border: 0; padding: 0; }
.paths-color-picker legend { margin-bottom: .45rem; color: var(--muted); font-size: .66rem; font-weight: 700; }
#pathsColorOptions { display: flex; flex-wrap: wrap; gap: .4rem; }
.paths-color-option { display: flex !important; grid-template-columns: none !important; align-items: center; gap: .38rem !important; border: 1px solid var(--line); border-radius: 99px; background: var(--panel2); padding: .34rem .58rem !important; color: var(--muted); font-size: .58rem !important; text-transform: capitalize; cursor: pointer; }
.paths-color-option input { width: .78rem; height: .78rem; margin: 0; accent-color: var(--accent); }
.paths-color-option span::before { display: inline-block; width: .42rem; height: .42rem; margin-right: .34rem; border-radius: 50%; background: currentColor; content: ""; }
.color-indigo { color: #a498ff !important; }
.color-teal { color: #62cbb6 !important; }
.color-amber { color: #e6b96e !important; }
.color-rose { color: #ea8eaa !important; }
.paths-form-split { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: .7rem; }
.paths-check-label { display: flex; align-items: start; gap: .55rem; border: 1px solid var(--line); border-radius: .7rem; background: var(--panel2); padding: .7rem; cursor: pointer; }
.paths-check-label input { width: 1rem; height: 1rem; margin: .12rem 0 0; accent-color: var(--accent); }
.paths-check-label span { display: grid; gap: .18rem; }
.paths-check-label strong { color: var(--text); font-size: .66rem; }
.paths-check-label small { color: var(--muted); font-size: .58rem; line-height: 1.45; }
.paths-templates-dialog { width: min(55rem,calc(100vw - 2rem)); }
.paths-templates-dialog > form > p { margin: -.3rem 0 .3rem; color: var(--muted); font-size: .68rem; }
.paths-template-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .6rem; }
.paths-template-card { display: flex; min-width: 0; flex-direction: column; border: 1px solid var(--line); border-radius: .8rem; background: linear-gradient(150deg,color-mix(in srgb,var(--accent) 5%,var(--panel2)),var(--panel)); padding: .8rem; }
.paths-template-card[data-color="indigo"] { --template-accent: #a498ff; }
.paths-template-card[data-color="teal"] { --template-accent: #62cbb6; }
.paths-template-card[data-color="amber"] { --template-accent: #e6b96e; }
.paths-template-card[data-color="rose"] { --template-accent: #ea8eaa; }
.paths-template-top { display: flex; align-items: center; gap: .42rem; color: var(--template-accent,var(--accent)); }
.paths-template-top .eyebrow { color: currentColor; font-size: .46rem; letter-spacing: .1em; }
.paths-template-mark { display: grid; width: 1.5rem; height: 1.5rem; place-items: center; border-radius: .5rem; background: color-mix(in srgb,var(--template-accent,var(--accent)) 12%,var(--panel)); }
.paths-template-card h3 { margin: .7rem 0 .35rem; font: 600 1rem Georgia,serif; }
.paths-template-card p { min-height: 3.2rem; margin: 0 0 .75rem; color: var(--muted); font-size: .62rem; line-height: 1.55; }
.paths-template-card .paths-primary-button { margin-top: auto; min-height: 2.2rem; font-size: .6rem; }

@keyframes path-complete-bloom { 0% { transform: scale(.985); box-shadow: 0 0 0 0 color-mix(in srgb,var(--green) 0%,transparent); } 42% { transform: scale(1.012); box-shadow: 0 0 0 .35rem color-mix(in srgb,var(--green) 13%,transparent); } 100% { transform: scale(1); box-shadow: 0 8px 23px #0002,inset 0 1px #ffffff0b; } }
@keyframes path-complete-pop { 0% { transform: scale(.78) rotate(-8deg); } 62% { transform: scale(1.13) rotate(3deg); } 100% { transform: scale(1) rotate(0); } }
@keyframes paths-node-ready { 0% { transform: scale(.9); opacity: .72; } 100% { transform: scale(1.55); opacity: 0; } }
@keyframes paths-confetti-burst { 0% { transform: translate(-50%,-50%) scale(.35); opacity: 0; } 14% { opacity: 1; } 100% { transform: translate(calc(-50% + var(--burst-x)),calc(-50% + var(--burst-y))) rotate(var(--burst-rotation)) scale(.72); opacity: 0; } }
@keyframes paths-orbit { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-4px) rotate(7deg); } }
@keyframes paths-focus-enter { from { opacity: 0; transform: translateY(9px) scale(.992); } to { opacity: 1; transform: translateY(0) scale(1); } }

@media (max-width: 1100px) {
  .app-shell.paths-active { grid-template-columns: 3.5rem minmax(0,1fr); }
  .paths-view:not([hidden]) { padding-inline: clamp(1rem,4vw,2rem); }
  .paths-summary { grid-template-columns: auto minmax(0,1fr) auto; }
  .paths-progress-copy { display: none; }
}
@media (max-width: 760px) {
  .app-shell.paths-active { grid-template-columns: 3.2rem minmax(0,1fr); }
  .app-shell.paths-active .workspace { grid-column: 2; }
  .paths-view:not([hidden]) { padding: 1.05rem .8rem 2.5rem; }
  .paths-page-head { margin-bottom: 1.1rem; }
  .paths-brand-row { margin-bottom: .55rem; }
  .paths-heading-row { align-items: stretch; flex-direction: column; gap: .85rem; }
  .paths-heading-row h1 { font-size: 2.4rem; }
  .paths-heading-row p { margin-top: .35rem; font-size: .72rem; }
  .paths-primary-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: end; gap: .38rem; }
  .paths-scope-control { grid-column: 1/-1; }
  .paths-scope-control select { min-height: 2.35rem; }
  .paths-primary-actions > button { min-height: 2.35rem; }
  .paths-toolbar { align-items: stretch; flex-direction: column; gap: .42rem; padding: .55rem; }
  .paths-picker-control { width: 100%; min-width: 0; flex-direction: column; align-items: stretch; gap: .28rem; }
  .paths-picker { width: 100%; max-width: 100%; }
  .paths-role-note { align-self: end; }
  .paths-summary { grid-template-columns: auto minmax(0,1fr) auto; gap: .75rem; min-height: auto; padding: .88rem; }
  .paths-summary-mark { grid-column: 1; grid-row: 1; }
  .paths-summary-copy { grid-column: 1/-1; grid-row: 2; }
  .paths-summary-mark { width: 2.65rem; height: 2.65rem; border-radius: .82rem; font-size: 1.12rem; }
  .paths-summary-copy .eyebrow { font-size: .46rem; }
  .paths-summary-copy h2 { font-size: 1.2rem; }
  .paths-summary-copy p { font-size: .63rem; }
  .paths-progress-meter { position: relative; grid-column: 3; grid-row: 1; width: 2.45rem; height: 2.45rem; }
  .paths-meter-track,.paths-meter-value { stroke-width: 6; }
  .paths-meter-percent { font-size: .48rem; }
  .paths-progress-copy { display: none; }
  .paths-path-actions { align-items: start; flex-direction: column; gap: .5rem; margin: .72rem 0 1rem; }
  .paths-path-actions p { font-size: .6rem; }
  .paths-action-group { width: 100%; flex-wrap: wrap; }
  .paths-action-group .paths-danger-button { margin-left: auto; }
  .paths-next-step { grid-template-columns: minmax(0,1fr); gap: .36rem; margin-bottom: 1.45rem; padding: .72rem; }
  .paths-next-main strong { font-size: .72rem; }
  .paths-next-main span { font-size: .56rem; }
  .paths-next-actions { grid-column: 1; justify-content: start; }
  .paths-next-focus,.paths-next-route { min-height: 2rem; padding-inline: .55rem; font-size: .55rem; }
  .paths-focus-dialog { width: calc(100vw - 1rem); max-height: 90dvh; border-radius: .95rem; }
  .paths-focus-dialog .paths-focus-shell { gap: .8rem; }
  .paths-focus-actions { align-items: stretch; }
  .paths-focus-actions > * { flex: 1 1 auto; }
  .paths-focus-actions .paths-primary-button { min-height: 2.75rem; }
  .paths-route-heading { margin-bottom: .55rem; }
  .paths-route { width: 100%; }
  .paths-route-line { width: 100%; opacity: .7; }
  .paths-stop { display: grid; min-height: 0; align-content: start; gap: .55rem; }
  .paths-stop.is-left,.paths-stop.is-right { justify-content: stretch; padding: 0 0 0 2.05rem; }
  .paths-node-card { width: 100%; max-width: none; }
  .paths-node-card:not(.is-nested) { padding: .75rem .68rem .62rem; }
  .paths-node-actions { flex-wrap: wrap; gap: .24rem; }
  .paths-node-expand { flex: 1 1 100%; margin-right: 0; text-align: left; }
  .paths-node-action,.paths-move-button,.paths-node-expand { min-height: 2.35rem; padding-inline: .55rem; font-size: .58rem; }
  .paths-substeps { width: 100%; margin-top: 0; padding-left: .7rem; }
  .paths-drag-handle { width: 2.5rem; height: 2.5rem; border-radius: .7rem; font-size: 1rem; }
  .paths-node-card.is-nested .paths-node-actions { flex-wrap: wrap; }
  .paths-node-card.is-nested .paths-node-action,.paths-node-card.is-nested .paths-move-button,.paths-node-card.is-nested .paths-node-expand { min-height: 2.15rem; }
  .paths-finish { margin-left: 2rem; }
  .paths-route-empty { margin-inline: 0; padding: 1.45rem 1rem; }
  .paths-empty-state { min-height: 48vh; }
  .paths-template-list { grid-template-columns: 1fr; }
  .paths-template-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .15rem .6rem; }
  .paths-template-top { grid-column: 1/-1; }
  .paths-template-card h3 { margin: .3rem 0; }
  .paths-template-card p { grid-column: 1; min-height: 0; margin: 0; }
  .paths-template-card .paths-primary-button { grid-column: 2; grid-row: 2/4; }
  .paths-form-split { grid-template-columns: 1fr; }
}
@media (max-width: 410px) {
  .paths-heading-row h1 { font-size: 2.05rem; }
  .paths-primary-actions { grid-template-columns: 1fr; }
  .paths-scope-control { grid-column: auto; }
  .paths-action-group { gap: .15rem; }
  .paths-action-group .paths-primary-button,.paths-action-group .paths-secondary-button,.paths-action-group .paths-quiet-button,.paths-action-group .paths-danger-button { min-height: 2rem; padding-inline: .44rem; font-size: .56rem; }
  .paths-node-title { font-size: .91rem; }
  .paths-node-action,.paths-move-button,.paths-node-expand { font-size: .54rem; }
}
@media (prefers-reduced-motion: reduce) {
  .path-celebration,.path-celebration .paths-node-complete,.paths-empty-state.is-loading .paths-loading-mark { animation: none !important; }
  .paths-node-complete.is-current:not(.is-done)::after,.paths-confetti-piece { animation: none !important; opacity: 0 !important; }
  .paths-primary-button,.paths-secondary-button,.paths-node-card,.paths-node-complete,.paths-meter-value,.paths-focus-substep { transition: none !important; }
  .paths-focus-dialog[open] { animation: none !important; }
}

/* Route milestones are single, standalone circles; their information appears on hold or activation. */
.paths-stop { min-height: 12.2rem; }
.paths-stop.is-left { padding-left: 5%; }
.paths-stop.is-right { padding-right: 5%; }
.paths-node-card { --node-accent: var(--accent); position: relative; z-index: 1; display: grid; width: min(22rem,60%); justify-items: center; gap: .72rem; border: 0; border-radius: 0; background: transparent; padding: .45rem 0; box-shadow: none; transition: opacity .18s ease; }
.paths-node-card[data-color="indigo"] { --node-accent: #988aff; }
.paths-node-card[data-color="teal"] { --node-accent: #62cbb6; }
.paths-node-card[data-color="amber"] { --node-accent: #e6b96e; }
.paths-node-card[data-color="rose"] { --node-accent: #ea8eaa; }
.paths-node-card:hover { transform: none; border: 0; box-shadow: none; }
.paths-node-card.is-complete,.paths-node-card.is-nested { border: 0; border-radius: 0; background: transparent; padding: .45rem 0; box-shadow: none; }
.paths-node-card.is-nested { width: min(100%,22rem); }
.paths-stop.is-dragging .paths-node-card,.paths-child.is-dragging .paths-node-card { opacity: .55; transform: scale(.98); }
.paths-node-orb { position: relative; z-index: 1; display: grid; width: 4.25rem; height: 4.25rem; flex: 0 0 auto; place-items: center; overflow: visible; border: 1px solid color-mix(in srgb,var(--node-accent) 68%,var(--line)); border-radius: 50%; background: linear-gradient(150deg,color-mix(in srgb,var(--node-accent) 43%,var(--raised)),color-mix(in srgb,var(--node-accent) 16%,var(--panel2)) 72%); color: #f8f5ff; font-size: .88rem; font-weight: 820; box-shadow: inset 0 1px #ffffff63,0 5px 0 color-mix(in srgb,var(--node-accent) 33%,#171321),0 9px 18px #0003; isolation: isolate; touch-action: manipulation; user-select: none; transition: transform .18s cubic-bezier(.2,.72,.25,1),filter .18s ease,box-shadow .18s ease; }
.paths-node-orb:hover:not(:disabled) { transform: translateY(-2px) scale(1.035); filter: brightness(1.07); box-shadow: inset 0 1px #ffffff66,0 6px 0 color-mix(in srgb,var(--node-accent) 33%,#171321),0 12px 19px #0004; }
.paths-node-orb:active:not(:disabled) { transform: translateY(1px) scale(.97); box-shadow: inset 0 1px #ffffff3a,0 2px 0 color-mix(in srgb,var(--node-accent) 31%,#171321),0 4px 9px #0003; }
.paths-node-orb.is-current:not(.is-done)::after { position: absolute; z-index: -1; inset: -.32rem; border: 1px solid color-mix(in srgb,var(--node-accent) 64%,transparent); border-radius: inherit; content: ""; animation: paths-node-ready 2.5s ease-out infinite; pointer-events: none; }
.paths-node-orb.is-done { border-color: color-mix(in srgb,var(--green) 72%,var(--line)); background: linear-gradient(145deg,color-mix(in srgb,var(--green) 56%,var(--raised)),color-mix(in srgb,var(--green) 26%,var(--panel))); color: #effff7; box-shadow: inset 0 1px #ffffff66,0 4px 0 color-mix(in srgb,var(--green) 43%,#143b2b),0 8px 15px #0003; }
.paths-node-card.path-celebration .paths-node-orb { animation: path-complete-pop .55s cubic-bezier(.18,.85,.25,1.25) both; }
.paths-node-details { width: 100%; min-width: 0; border: 1px solid color-mix(in srgb,var(--node-accent) 30%,var(--line)); border-radius: 1rem; background: linear-gradient(150deg,color-mix(in srgb,var(--node-accent) 7%,var(--panel)),var(--panel) 65%); padding: .8rem .9rem .65rem; box-shadow: 0 12px 26px #0003,inset 0 1px #ffffff0c; animation: path-details-reveal .2s cubic-bezier(.2,.7,.3,1) both; }
.paths-node-details .paths-node-title { margin: .4rem 0 .12rem; color: var(--text); font: 600 1.05rem/1.2 Georgia,serif; letter-spacing: -.02em; overflow-wrap: anywhere; }
.paths-node-details .paths-node-description { margin: .3rem 0 0; color: var(--muted); font-size: .68rem; line-height: 1.55; }
.paths-node-topline { display: flex; min-height: 1.3rem; flex-wrap: wrap; align-items: center; gap: .32rem; }
.paths-kind,.paths-optional-chip,.paths-deadline { display: inline-flex; min-height: 1.3rem; align-items: center; border-radius: 99px; background: color-mix(in srgb,var(--node-accent) 10%,var(--panel2)); padding: .18rem .48rem; color: var(--node-accent); font-size: .55rem; font-weight: 750; }
.paths-kind-task { --node-accent: #a8a4ba; }
.paths-kind-goal { --node-accent: #8fc9d8; }
.paths-kind-note { --node-accent: #c2a4ea; }
.paths-optional-chip { background: color-mix(in srgb,var(--accent) 7%,var(--panel)); color: var(--muted); }
.paths-deadline { margin-left: auto; background: var(--panel2); color: var(--muted); font-weight: 600; }
.paths-deadline.is-past { color: color-mix(in srgb,var(--danger) 78%,var(--muted)); }
.paths-drag-handle { display: grid; width: 1.65rem; height: 1.65rem; flex: 0 0 auto; place-items: center; border: 1px solid var(--line); border-radius: .48rem; background: color-mix(in srgb,var(--panel2) 84%,transparent); color: var(--muted); font-size: .9rem; line-height: 1; cursor: grab; touch-action: none; user-select: none; }
.paths-node-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; margin-top: .45rem; color: var(--muted); font-size: .6rem; }
.paths-note-link { overflow: hidden; max-width: 100%; border: 0; background: transparent; padding: 0; color: color-mix(in srgb,var(--node-accent) 83%,var(--muted)); font-size: .6rem; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.paths-node-actions { display: flex; min-height: 1.8rem; flex-wrap: wrap; align-items: center; gap: .22rem; margin-top: .55rem; border-top: 1px solid color-mix(in srgb,var(--line) 62%,transparent); padding-top: .42rem; }
.paths-node-expand,.paths-node-action,.paths-move-button { min-height: 1.8rem; border: 1px solid transparent; border-radius: .5rem; background: transparent; padding: .25rem .46rem; color: var(--muted); font-size: .56rem; font-weight: 680; }
.paths-node-expand { margin-right: auto; color: var(--node-accent); }
.paths-node-expand:hover,.paths-node-action:hover,.paths-move-button:hover { border-color: var(--line); background: var(--panel2); color: var(--text); }
.paths-mark-complete { border-color: color-mix(in srgb,var(--green) 29%,var(--line)); background: color-mix(in srgb,var(--green) 8%,var(--panel)); color: color-mix(in srgb,var(--green) 83%,var(--text)); }
.paths-node-action.is-danger:hover { color: var(--danger); }
.paths-node-action:disabled,.paths-move-button:disabled { opacity: .35; cursor: not-allowed; }
.paths-stop.is-drop-target .paths-node-orb,.paths-child.is-drop-target .paths-node-orb { outline: 3px solid color-mix(in srgb,var(--accent) 28%,transparent); outline-offset: .22rem; }
.paths-stop.is-drop-target[data-drop-position="before"]::before,.paths-child.is-drop-target[data-drop-position="before"]::before,.paths-stop.is-drop-target[data-drop-position="after"]::after,.paths-child.is-drop-target[data-drop-position="after"]::after { position: absolute; z-index: 3; right: .4rem; left: .4rem; height: 3px; border-radius: 999px; background: var(--accent); box-shadow: 0 0 11px color-mix(in srgb,var(--accent) 76%,transparent); content: ""; pointer-events: none; }
.paths-stop.is-drop-target[data-drop-position="before"]::before,.paths-child.is-drop-target[data-drop-position="before"]::before { top: -.3rem; }
.paths-stop.is-drop-target[data-drop-position="after"]::after,.paths-child.is-drop-target[data-drop-position="after"]::after { bottom: -.3rem; }
.path-celebration { animation: none; }
@keyframes path-details-reveal { from { opacity: 0; transform: translateY(-.35rem) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 760px) {
  .paths-stop { display: grid; grid-template-columns: minmax(0,1fr); min-height: 12rem; align-content: center; justify-items: stretch; gap: .55rem; }
  .paths-stop.is-left,.paths-stop.is-right { padding: 0 0 0 1.65rem; }
  .paths-node-card,.paths-node-card.is-nested { width: min(22rem,100%); max-width: 22rem; padding: .4rem 0; }
  .paths-node-details { padding: .72rem .72rem .6rem; }
  .paths-node-actions { gap: .25rem; }
  .paths-node-expand,.paths-node-action,.paths-move-button { min-height: 2.25rem; padding-inline: .5rem; font-size: .59rem; }
  .paths-substeps { width: 100%; margin-top: 0; padding-left: .7rem; }
  .paths-finish { margin-left: 0; }
}
@media (max-width: 410px) {
  .paths-node-orb { width: 3.8rem; height: 3.8rem; }
  .paths-node-details .paths-node-title { font-size: .96rem; }
  .paths-node-action,.paths-move-button,.paths-node-expand { font-size: .54rem; }
}
@media (prefers-reduced-motion: reduce) {
  .paths-node-card,.paths-node-orb,.paths-meter-value,.paths-focus-substep { transition: none !important; }
  .paths-node-orb.is-current:not(.is-done)::after,.paths-confetti-piece { animation: none !important; opacity: 0 !important; }
  .paths-node-card.path-celebration .paths-node-orb,.paths-node-details { animation: none !important; }
}

.paths-branch-progress { max-width: 10rem; color: color-mix(in srgb,var(--accent) 78%,var(--muted)) !important; line-height: 1.35; }
.paths-summary-branches { display: inline-flex; margin-top: .38rem; border: 1px solid color-mix(in srgb,var(--path-accent) 20%,var(--line)); border-radius: 99px; background: color-mix(in srgb,var(--path-accent) 6%,var(--panel)); padding: .2rem .5rem; color: color-mix(in srgb,var(--path-accent) 82%,var(--muted)); font-size: .54rem; font-weight: 700; }
.paths-checkins { width: min(100%,58rem); margin: 0 auto 1.6rem; border-top: 1px solid var(--line); padding: 1.05rem .2rem .2rem; }
.paths-checkins-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.paths-checkins-title .eyebrow { color: var(--accent); font-size: .5rem; }
.paths-checkins-title h2 { margin: .24rem 0; font: 600 1.25rem/1.15 Georgia,serif; letter-spacing: -.02em; }
.paths-checkins-title p,.paths-checkins-visibility,.paths-checkins-empty,.paths-checkins-limit { margin: .25rem 0 0; color: var(--muted); font-size: .63rem; line-height: 1.5; }
.paths-checkins-visibility { color: color-mix(in srgb,var(--accent) 70%,var(--muted)); }
.paths-checkin-history { margin-top: .7rem; border: 1px solid var(--line); border-radius: .72rem; background: color-mix(in srgb,var(--panel) 94%,transparent); }
.paths-checkin-history > summary { min-height: 2.55rem; padding: .72rem .8rem; color: var(--text); font-size: .64rem; font-weight: 700; cursor: pointer; }
.paths-checkin-list { display: grid; max-height: 21rem; gap: .45rem; overflow: auto; margin: 0; border-top: 1px solid var(--line); padding: .55rem; list-style: none; }
.paths-checkin-item { min-width: 0; border: 1px solid color-mix(in srgb,var(--line) 76%,transparent); border-radius: .6rem; background: var(--panel2); padding: .62rem .7rem; }
.paths-checkin-meta { display: flex; align-items: center; justify-content: space-between; gap: .5rem; color: var(--muted); font-size: .57rem; }
.paths-checkin-item > p { margin: .36rem 0 0; color: var(--text); font-size: .66rem; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.paths-checkin-remove { min-height: 1.6rem; border: 1px solid transparent; border-radius: .42rem; background: transparent; padding: .2rem .4rem; color: var(--muted); font-size: .55rem; }
.paths-checkin-remove:hover { border-color: color-mix(in srgb,var(--danger) 35%,var(--line)); color: var(--danger); }
.paths-checkins-limit { color: color-mix(in srgb,var(--amber,#e6b96e) 75%,var(--muted)); }
.paths-checkin-dialog { width: min(34rem,calc(100vw - 2rem)); }
.paths-checkin-prompt { margin: -.3rem 0 .2rem; color: var(--muted); font-size: .7rem; line-height: 1.55; }
.paths-checkin-visibility { margin: 0; border-left: 2px solid var(--accent); padding: .25rem .55rem; color: var(--muted); font-size: .6rem; line-height: 1.5; }
.paths-template-stats { margin: -.4rem 0 .65rem; color: color-mix(in srgb,var(--accent) 75%,var(--muted)); font-size: .56rem; font-weight: 700; }
@media (max-width: 760px) {
  .paths-checkins { margin-bottom: 1.2rem; padding-top: .8rem; }
  .paths-checkins-head { align-items: start; }
  .paths-checkins-title h2 { font-size: 1.1rem; }
  .paths-checkins-head > button { min-height: 2.2rem; white-space: nowrap; font-size: .56rem; }
}
@media (prefers-reduced-motion: reduce) {
  .paths-checkins *, .paths-checkin-dialog[open] { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
