/* AMAADOR ACADEMY — learning-path explorer */
.lp-shell,.lp-detail{font-family:var(--font);color:var(--txt)}
.lp-shell h2,.lp-shell h3,.lp-detail h1,.lp-detail h2,.lp-detail h3,.lp-detail h4{font-family:var(--font);color:var(--ink);text-wrap:balance}
.lp-shell p,.lp-detail p{text-wrap:pretty}
.lp-overview{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:22px;padding:28px;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--window);box-shadow:var(--shadow-sm)}
.lp-overview>div:first-child{max-width:70ch}
.lp-overview h2{margin:0 0 8px;font-size:1.45rem;letter-spacing:-.025em}
.lp-overview p{margin:0;color:var(--txt);line-height:1.7}
.lp-coverage{display:flex;align-items:stretch;flex:none;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}
.lp-coverage span{display:flex;min-width:112px;flex-direction:column;justify-content:center;gap:2px;padding:13px 16px;color:var(--muted);font-size:.76rem;line-height:1.25;text-align:center}
.lp-coverage span+span{border-inline-start:1px solid var(--line)}
.lp-coverage strong{display:block;color:var(--ink);font-size:1rem;font-variant-numeric:tabular-nums}

.lp-momentum{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 22px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--path-color) 26%,var(--line));border-radius:var(--r-lg);background:color-mix(in srgb,var(--path-color) 5%,var(--window))}
.lp-momentum-mark{display:flex;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--path-color) 34%,var(--line));border-radius:13px;background:var(--window);color:color-mix(in srgb,var(--path-color) 78%,var(--ink));font-size:.78rem;font-weight:800}
.lp-momentum span{color:color-mix(in srgb,var(--path-color) 70%,var(--ink));font-size:.68rem;font-weight:750}
.lp-momentum h2{margin:2px 0 3px;font-size:1rem}
.lp-momentum p{margin:0;color:var(--muted);font-size:.82rem}
.lp-momentum>a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border-radius:10px;background:var(--ink);color:var(--bg);font-size:.78rem;font-weight:750;padding:0 16px;text-decoration:none}

.lp-finder{margin-bottom:34px;padding:26px;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface)}
.lp-finder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.lp-finder-head h2{margin:0 0 4px;font-size:1.25rem}
.lp-finder-head p{margin:0;color:var(--muted)}
.lp-goals{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.lp-goal,.lp-saved-toggle,.lp-save,.lp-reset{min-height:44px;border:1px solid var(--line2);border-radius:var(--pill);background:var(--window);color:var(--ink2);font:600 .86rem/1 var(--font);padding:0 16px;cursor:pointer;transition:border-color 180ms var(--ease),background 180ms var(--ease),color 180ms var(--ease),transform 180ms var(--ease)}
.lp-goal:hover,.lp-saved-toggle:hover,.lp-save:hover,.lp-reset:hover{border-color:var(--ink2);transform:translateY(-1px)}
.lp-goal.is-active,.lp-saved-toggle.is-active,.lp-save.is-saved{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.lp-filters{display:grid;grid-template-columns:minmax(250px,1.6fr) repeat(3,minmax(170px,1fr));gap:12px}
.lp-filters label{display:flex;min-width:0;flex-direction:column;gap:6px;color:var(--ink2);font-size:.78rem;font-weight:650}
.lp-filters input,.lp-filters select{width:100%;min-height:46px;border:1px solid var(--line2);border-radius:11px;background:var(--window);color:var(--ink);font:500 .9rem/1.2 var(--font);padding:0 13px;box-shadow:none}
.lp-filters input::placeholder{color:var(--muted);opacity:1}
.lp-filters input:focus,.lp-filters select:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-dim);outline:0}

.lp-directory-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.lp-directory-head>div{max-width:72ch}
.lp-directory-head h2{margin:0 0 6px;font-size:1.45rem}
.lp-directory-head p{margin:0;color:var(--muted);line-height:1.65}
.lp-directory-head>strong{flex:none;color:var(--ink2);font-size:.85rem}
.lp-path-list{display:flex;flex-direction:column;gap:12px}
.lp-path-row{display:grid;grid-template-columns:54px minmax(0,1fr) 170px;gap:18px;align-items:start;padding:22px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--window);box-shadow:var(--shadow-sm);transition:border-color 180ms var(--ease),box-shadow 180ms var(--ease),transform 180ms var(--ease)}
.lp-path-row:hover{border-color:var(--line2);box-shadow:var(--shadow);transform:translateY(-1px)}
.lp-path-mark,.lp-detail-mark{display:flex;align-items:center;justify-content:center;flex:none;border:1px solid color-mix(in srgb,var(--path-color) 35%,var(--line));background:color-mix(in srgb,var(--path-color) 11%,var(--window));color:color-mix(in srgb,var(--path-color) 78%,var(--ink));font-weight:800;letter-spacing:-.02em}
.lp-path-mark{width:52px;height:52px;border-radius:14px;font-size:.88rem}
.lp-path-main{min-width:0}
.lp-path-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.lp-badge{display:inline-flex;align-items:center;min-height:25px;border:1px solid var(--line);border-radius:var(--pill);background:var(--surface);color:var(--muted);font-size:.69rem;font-weight:650;padding:3px 9px}
.lp-badge-type{border-color:color-mix(in srgb,var(--path-color) 28%,var(--line));background:color-mix(in srgb,var(--path-color) 8%,var(--window));color:color-mix(in srgb,var(--path-color) 72%,var(--ink))}
.lp-badge-choice{border-style:dashed}
.lp-path-main h3{margin:0 0 5px;font-size:1.12rem;letter-spacing:-.018em}
.lp-path-main h3 a{color:inherit;text-decoration:none}
.lp-path-main h3 a::after{content:"";position:absolute;inset:0;pointer-events:none}
.lp-path-row{position:relative}
.lp-path-main p{max-width:70ch;margin:0 0 12px;color:var(--txt);font-size:.88rem;line-height:1.58}
.lp-stage-track{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.72rem}
.lp-stage-track span{display:inline-flex;align-items:center;gap:4px}
.lp-stage-track b{color:var(--ink2);font-variant-numeric:tabular-nums}
.lp-stage-track i{display:block;width:18px;height:1px;background:var(--line2)}
.lp-row-progress{display:flex;align-items:center;gap:10px;margin-top:12px}
.lp-row-progress small{flex:none;color:var(--muted);font-size:.7rem}
.lp-progress-track{height:7px;border-radius:var(--pill);background:var(--surface2);overflow:hidden}
.lp-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--path-color);transition:width 220ms var(--ease)}
.lp-row-progress .lp-progress-track{width:min(280px,45%)}
.lp-path-actions{position:relative;z-index:1;display:flex;flex-direction:column;align-items:stretch;gap:8px}
.lp-path-numbers{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;padding-bottom:8px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.7rem}
.lp-path-numbers strong{color:var(--ink);font-size:.85rem;font-variant-numeric:tabular-nums}
.lp-open-path,.lp-primary-action,.lp-course-open{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;background:var(--ink);color:var(--bg)!important;font-weight:700;text-decoration:none;transition:background 180ms var(--ease),transform 180ms var(--ease)}
.lp-open-path:hover,.lp-primary-action:hover,.lp-course-open:hover{background:var(--ink2);transform:translateY(-1px)}
.lp-save{position:relative;z-index:2;width:100%;border-radius:10px}
.lp-empty{padding:40px 24px;border:1px dashed var(--line2);border-radius:var(--r-lg);background:var(--surface);text-align:center}
.lp-empty h3,.lp-empty h2{margin:0 0 8px}
.lp-empty p{max-width:60ch;margin:0 auto 18px;color:var(--muted)}

body.lp-detail-mode .tool-head{display:none}
body.lp-detail-mode .sec{padding-top:34px}
.lp-detail{max-width:1180px;margin:0 auto}
.lp-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px;color:var(--ink2);font-weight:700;text-decoration:none}
.lp-back::before{content:"←";margin-inline-end:8px}
[dir="rtl"] .lp-back::before{content:"→"}
.lp-detail-hero{display:flex;align-items:flex-start;gap:22px;margin-bottom:26px;padding:30px;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--window);box-shadow:var(--shadow-sm)}
.lp-detail-mark{width:74px;height:74px;border-radius:20px;font-size:1.05rem}
.lp-detail-title{min-width:0;flex:1}
.lp-detail-title h1{max-width:20ch;margin:0 0 8px;font-size:clamp(1.75rem,3vw,2.65rem);line-height:1.08;letter-spacing:-.035em}
.lp-detail-title p{max-width:68ch;margin:0;color:var(--txt);font-size:1rem;line-height:1.65}
.lp-detail-save{width:auto;flex:none}
.lp-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.lp-outcomes{margin-bottom:28px;padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.lp-outcomes h2,.lp-roadmap-head h2,.lp-plan h2{margin:0;font-size:1.12rem}
.lp-outcomes ul{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}
.lp-outcomes li{position:relative;padding-inline-start:20px;color:var(--txt);line-height:1.62}
.lp-outcomes li::before{content:"";position:absolute;inset-inline-start:0;top:.66em;width:8px;height:8px;border-radius:50%;background:var(--path-color)}
.lp-roadmap-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 14px}
.lp-roadmap-head>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.lp-roadmap-head a{display:inline-flex;align-items:center;min-height:34px;border:1px solid var(--line);border-radius:var(--pill);background:var(--window);color:var(--ink2);font-size:.72rem;font-weight:650;padding:0 11px;text-decoration:none}
.lp-stage{margin-bottom:18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--window);overflow:hidden;scroll-margin-top:92px}
.lp-stage>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--surface)}
.lp-stage>header span{color:color-mix(in srgb,var(--path-color) 70%,var(--ink));font-size:.72rem;font-weight:750}
.lp-stage>header h3{margin:2px 0 0;font-size:1rem}
.lp-stage>header small{display:block;margin-top:3px;color:var(--muted);font-size:.66rem}
.lp-stage>header>strong{color:var(--muted);font-size:.72rem}
.lp-course-list{margin:0;padding:0;list-style:none}
.lp-course-step{display:grid;grid-template-columns:54px minmax(0,1fr) 118px;gap:14px;align-items:center;padding:18px 20px}
.lp-course-step+.lp-course-step{border-top:1px solid var(--line)}
.lp-course-step.is-next{background:color-mix(in srgb,var(--path-color) 7%,var(--window))}
.lp-course-step.is-done{background:color-mix(in srgb,var(--good) 5%,var(--window))}
.lp-course-step.is-alternative{background:var(--surface)}
.lp-course-step.is-choice+.lp-course-step.is-choice{border-top-style:dashed}
.lp-step-index{display:flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;border:1px solid var(--line2);border-radius:var(--pill);background:var(--surface);color:var(--ink2);font-size:.72rem;font-weight:800;padding:0 8px;font-variant-numeric:tabular-nums}
.is-next .lp-step-index{border-color:var(--path-color);background:var(--path-color);color:#fff}
.is-done .lp-step-index{border-color:var(--good);background:var(--good);color:#fff;font-size:.62rem}
.lp-step-copy{min-width:0}
.lp-step-status{margin-bottom:3px;color:var(--muted);font-size:.68rem;font-weight:750}
.is-next .lp-step-status{color:color-mix(in srgb,var(--path-color) 78%,var(--ink))}
.is-done .lp-step-status{color:var(--good)}
.lp-step-copy h4{margin:0 0 4px;font-size:.96rem;line-height:1.35}
.lp-step-copy p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-course-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.lp-course-meta span{display:inline-flex;align-items:center;min-height:24px;border:1px solid var(--line);border-radius:var(--pill);background:var(--surface);color:var(--muted);font-size:.65rem;padding:2px 8px}
.lp-course-meta .lp-choice-label{border-style:dashed;border-color:color-mix(in srgb,var(--path-color) 35%,var(--line));color:color-mix(in srgb,var(--path-color) 70%,var(--ink))}
.lp-course-open{min-height:40px;background:var(--surface2);color:var(--ink)!important;font-size:.75rem}
.lp-course-open:hover{background:var(--ink);color:var(--bg)!important}
.lp-plan{position:sticky;top:88px;display:flex;flex-direction:column;gap:14px}
.lp-plan>section{padding:20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--window);box-shadow:var(--shadow-sm)}
.lp-plan-percent{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:14px 0 10px}
.lp-plan-percent strong{color:var(--ink);font-size:1.55rem;font-variant-numeric:tabular-nums}
.lp-plan-percent span{color:var(--muted);font-size:.72rem;text-align:end}
.lp-plan dl{display:grid;gap:8px;margin:16px 0}
.lp-plan dl div{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:.78rem}
.lp-plan dt{color:var(--muted)}
.lp-plan dd{margin:0;color:var(--ink);font-weight:750}
.lp-plan-note{margin:-4px 0 14px!important;color:var(--muted);font-size:.7rem;line-height:1.45}
.lp-primary-action{width:100%}
.lp-mobile-action{display:none}
.lp-related h2{margin-bottom:12px}
.lp-related>a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:2px 9px;align-items:center;padding:10px 0;color:var(--ink);text-decoration:none}
.lp-related>a+a{border-top:1px solid var(--line)}
.lp-related>a>span{grid-row:1/3;display:flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:.63rem;font-weight:800}
.lp-related b{overflow:hidden;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}
.lp-related small{color:var(--muted);font-size:.65rem}
.lp-invalid{margin:40px auto;max-width:680px}

@media(max-width:1020px){
  .lp-overview{align-items:flex-start;flex-direction:column}
  .lp-coverage{width:100%}.lp-coverage span{flex:1;min-width:0}
  .lp-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lp-detail-layout{grid-template-columns:minmax(0,1fr) 260px}
}
@media(max-width:780px){
  .lp-path-row{grid-template-columns:48px minmax(0,1fr)}
  .lp-path-mark{width:46px;height:46px}
  .lp-path-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
  .lp-path-numbers{grid-column:1/-1;grid-template-columns:auto 1fr auto 1fr}
  .lp-detail-layout{grid-template-columns:1fr}.lp-plan{position:static}
  .lp-detail-hero{flex-wrap:wrap}.lp-detail-save{width:100%}.lp-mobile-action{display:inline-flex;flex-basis:100%}
}
@media(max-width:620px){
  .lp-overview,.lp-finder,.lp-detail-hero{padding:20px;border-radius:var(--r-lg)}
  .lp-momentum{grid-template-columns:44px minmax(0,1fr);padding:16px}.lp-momentum-mark{width:42px;height:42px}.lp-momentum>a{grid-column:1/-1}
  .lp-coverage{flex-direction:column}.lp-coverage span+span{border-inline-start:0;border-top:1px solid var(--line)}
  .lp-finder-head,.lp-directory-head,.lp-roadmap-head{align-items:stretch;flex-direction:column}
  .lp-saved-toggle{width:100%}.lp-goals{display:grid;grid-template-columns:1fr 1fr}
  .lp-goal{height:auto;line-height:1.3;padding:10px 12px}
  .lp-filters{grid-template-columns:1fr}
  .lp-directory-head>strong{align-self:flex-start}
  .lp-path-row{grid-template-columns:1fr;padding:18px}.lp-path-mark{display:none}
  .lp-path-actions{grid-template-columns:1fr}.lp-path-numbers{grid-template-columns:auto 1fr auto 1fr}
  .lp-row-progress{align-items:flex-start;flex-direction:column}.lp-row-progress .lp-progress-track{width:100%}
  .lp-stage-track i{display:none}
  .lp-detail-mark{width:58px;height:58px;border-radius:16px}
  .lp-detail-title h1{font-size:1.7rem}
  .lp-course-step{grid-template-columns:44px minmax(0,1fr);padding:16px}
  .lp-course-open{grid-column:1/-1}.lp-step-copy p{white-space:normal}
  .lp-stage>header{align-items:flex-start;flex-direction:column}.lp-stage>header>strong{align-self:flex-start}
}
@media(prefers-reduced-motion:reduce){
  .lp-path-row,.lp-goal,.lp-saved-toggle,.lp-save,.lp-reset,.lp-progress-track span,.lp-open-path,.lp-primary-action,.lp-course-open{transition:none!important;transform:none!important}
}
