/* Shared light/dark tokens; no new font or animation dependency. */
.path-page{padding:clamp(1.25rem,4vw,3.5rem);color:var(--ink-1);font-family:var(--font-body)}
.path-page__inner{max-width:66rem;margin:auto;min-width:0}
.path-breadcrumb{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;font:.8rem/1.6 var(--font-body);color:var(--ink-3);margin-bottom:2rem}
.path-breadcrumb a,.path-footer a{color:var(--text-accent);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.path-breadcrumb--reader{margin-bottom:.6rem}
/* The canonical navigation already names the course/path/subject once. */
.reader-page > .nav-context ~ .path-breadcrumb--reader{display:none}
.path-hero h1{font:650 clamp(2.1rem,5vw,4.25rem)/1.08 var(--font-display);letter-spacing:-.045em;margin:.9rem 0 1rem;text-wrap:balance;overflow-wrap:anywhere}
.path-tag{font:600 clamp(1.1rem,2vw,1.5rem)/1.45 var(--font-display);margin:0 0 .7rem}
.path-description{color:var(--ink-3);font-size:1rem;line-height:1.8;max-width:65ch;margin:0}
.path-actions{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:1.5rem 0 2rem}
.path-progress{border:1px solid var(--border-strong);border-radius:14px;background:var(--paper-1);padding:1.25rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;font:.8rem/1.6 var(--font-body)}
.path-progress strong{font:600 1.25rem var(--font-display)}
.path-progress>span{color:var(--text-accent)}
.path-progress progress{width:100%;height:5px;appearance:none;border:none;border-radius:5px;overflow:hidden;background:var(--paper-2)}
.path-progress progress::-webkit-progress-bar{background:var(--paper-2)}
.path-progress progress::-webkit-progress-value{background:var(--tape-orange)}
.path-progress progress::-moz-progress-bar{background:var(--tape-orange)}
.path-progress p{margin:0;color:var(--ink-3);font-size:.75rem}
.path-orientation{display:grid;gap:1rem;margin:0 0 1.25rem;padding:1.25rem;border-block:1px solid var(--border-strong);background:var(--paper-1)}
.path-orientation__art{margin:-1.25rem -1.25rem 0;overflow:hidden;background:var(--paper-2)}
.path-orientation__art img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}
.path-orientation h2{margin:0 0 .35rem;font:650 clamp(1.25rem,2.6vw,1.65rem)/1.2 var(--font-display);letter-spacing:-.025em}
.path-orientation>div>p,.path-orientation__runtime{margin:0;color:var(--ink-3);font:.78rem/1.65 var(--font-body)}
.path-orientation ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0!important;padding:0!important;background:var(--border-soft);list-style:none!important}
.path-orientation li{display:grid;align-content:start;gap:.3rem;min-width:0;padding:.8rem;background:var(--paper-1)}
.path-orientation li span{color:var(--text-accent);font:.62rem var(--font-mono)}
.path-orientation li strong{font:650 .78rem/1.35 var(--font-body)}
.path-orientation li small{color:var(--ink-3);font:.66rem/1.5 var(--font-body);overflow-wrap:anywhere}
.path-orientation__runtime{padding-top:.75rem;border-top:1px solid var(--border-soft)}
.path-curriculum{scroll-margin-top:140px;margin-top:2.75rem}
.path-section-title{margin-bottom:1.4rem}
.path-section-title h2{font:600 clamp(1.5rem,3vw,2rem)/1.2 var(--font-display);letter-spacing:-.025em;margin:0 0 .5rem}
.path-section-title p{font:.9rem/1.7 var(--font-body);color:var(--ink-3);margin:0}
.path-phase{border:1px solid var(--border-soft);border-radius:12px;margin-bottom:1rem;background:var(--paper-1);overflow:hidden}
.path-phase>summary{cursor:pointer;min-height:64px;padding:1rem;display:flex;gap:.8rem;align-items:center;list-style:none}
.path-phase>summary::-webkit-details-marker{display:none}
.path-phase>summary::after{content:'+';font-size:1.4rem;color:var(--text-accent);margin-left:.3rem}
.path-phase[open]>summary::after{content:'−'}
.path-phase__number{font:.7rem var(--font-mono);color:var(--text-accent)}
.path-phase h3{font:600 .98rem/1.4 var(--font-body);margin:0;flex:1;min-width:0;overflow-wrap:anywhere}
.path-phase__count{font:.7rem var(--font-mono);color:var(--ink-3);white-space:nowrap}
.path-lessons{list-style:none;margin:0!important;padding:0!important}
.path-lesson{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:1.15rem 1rem;border-top:1px solid var(--border-soft);text-decoration:none;color:var(--ink-1);transition:background-color 160ms}
.path-lesson>span:last-child{display:none;color:var(--text-accent)}
.path-lesson[data-next=true]{background:var(--paper-2);box-shadow:inset 3px 0 var(--tape-orange)}
.path-lesson__number{font:.75rem var(--font-mono);color:var(--text-accent)}
.path-lesson__copy{display:grid;gap:.4rem;min-width:0}
.path-lesson__copy strong{font:600 .9rem/1.55 var(--font-body);overflow-wrap:anywhere}
.path-lesson__copy>span{font:.8rem/1.65 var(--font-body);color:var(--ink-3);overflow-wrap:anywhere}
.path-lesson__state{font:.66rem/1.5 var(--font-mono);color:var(--text-accent);max-width:7rem;text-align:right}
.path-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font:.85rem/1.6 var(--font-body);color:var(--ink-3);margin:2rem 0}
.path-page :is(a,button,summary):focus-visible,.reader-resume button:focus-visible{outline:2px solid var(--text-accent);outline-offset:-3px}
.home-path{text-decoration:none}
.home-content-search{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;padding:.35rem 0 .8rem;font:.75rem/1.6 var(--font-body);color:var(--ink-3)}
.home-content-search button{font-size:.78rem}
.home-resume-hint{color:var(--text-accent);font:.74rem/1.65 var(--font-body);padding-top:.6rem}
.reader-resume{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;border:1px solid var(--border-soft);border-radius:10px;padding:.65rem 1rem;margin:1rem 0;font:.78rem/1.7 var(--font-body);color:var(--ink-3);background:var(--paper-1)}
.reader-resume button{background:none;border:0;color:var(--text-accent);font:600 .78rem var(--font-body);cursor:pointer;min-height:44px;padding:.5rem}
.nav-search__passage{display:block;color:var(--text-accent);font-size:.73rem;line-height:1.6;margin-top:.4rem}
.nav-search__snippet{display:block;color:var(--ink-3);font-size:.8rem;line-height:1.7;overflow-wrap:anywhere;margin-top:.25rem}
@media(min-width:700px){.path-lesson{grid-template-columns:2.5rem minmax(0,1fr) auto 1rem;padding:1.25rem 1.5rem}.path-lesson>span:last-child{display:block}.path-phase>summary{padding:1rem 1.5rem}}
@media(max-width:430px){.path-lesson{grid-template-columns:1.65rem minmax(0,1fr)}.path-lesson__state{grid-column:2;text-align:left;max-width:none}.path-phase h3{font-size:.88rem}.path-progress>span{font-size:.75rem}}
@media(max-width:660px){.path-orientation ol{grid-template-columns:1fr 1fr}}
@media(hover:hover){.path-lesson:hover{background:var(--paper-2)}.path-breadcrumb a:hover,.path-footer a:hover{text-decoration:underline}}
@media(prefers-reduced-motion:reduce){.path-lesson{transition:none}}
[data-theme="dark"] .path-orientation__art img{filter:brightness(.82) contrast(1.05) saturate(.86)}

/* Override the generic article details/anchor decorators inside the curriculum. */
.path-page .path-phase>summary::before{display:none;content:none}
.path-page a.path-lesson,.path-page a.path-lesson:hover{text-decoration:none;color:var(--ink-1)}
.path-page .path-phase>summary{background:none}
.home-path[data-learning-path="python"] .home-path__icon{color:var(--ink-1)}
.home-path[data-learning-path="pyspark"] .home-path__icon{color:var(--text-accent)}
.home-path[data-learning-path="go"] .home-path__icon{color:var(--ink-3)}
