/* The P2P Path: walkable learning path */
.pp-shell{max-width:860px;margin:0 auto;padding:0 24px}
.pp-grid{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:start;margin:26px 0 60px}
@media(max-width:860px){.pp-grid{grid-template-columns:1fr}}
.pp-count{font:700 13px Inter,sans-serif;color:var(--good);margin:0 0 12px}

/* the map */
.pp-map{background:var(--panel,#fff);border:1px solid var(--line);border-radius:18px;padding:18px 16px;position:sticky;top:14px}
@media(max-width:860px){.pp-map{position:static}}
.pp-unit{display:flex;align-items:center;gap:9px;margin:16px 0 8px;padding-top:10px;border-top:1.5px solid var(--line)}
.pp-unit:first-child{margin-top:0;border-top:none;padding-top:0}
.pp-uic{font-size:17px}
.pp-uname{font:800 12px Inter,sans-serif;letter-spacing:.08em;color:var(--mute);text-transform:uppercase}
.pp-stop{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:none;border:none;padding:7px 4px;cursor:pointer;font-family:var(--sans);border-radius:10px;position:relative}
.pp-stop::before{content:"";position:absolute;left:18px;top:-8px;height:14px;width:2px;background:var(--line)}
.pp-stop:first-of-type::before{display:none}
.pp-stop:hover:not(.locked){background:var(--bg,#faf7f2)}
.pp-dot{flex:0 0 30px;height:30px;line-height:28px;text-align:center;border-radius:50%;font:800 13px Inter,sans-serif;border:2px solid var(--line);background:var(--bg,#faf7f2);color:var(--mute)}
.pp-stop.done .pp-dot{background:var(--good);border-color:var(--good);color:#fff}
.pp-stop.current .pp-dot{border-color:var(--architect);color:var(--architect);box-shadow:0 0 0 4px rgba(61,91,196,.15)}
.pp-stop.locked{cursor:default;opacity:.45}
.pp-stop.cp .pp-dot{border-radius:9px}
.pp-st{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.3}
.pp-stop.locked .pp-st{color:var(--mute)}
.pp-st small{display:block;font-size:10.5px;font-weight:800;letter-spacing:.1em;color:var(--partner,#b07724)}

/* the lesson card */
.pp-card{background:var(--panel,#fff);border:1px solid var(--line);border-radius:18px;padding:26px 26px 22px}
.pp-card.cp{border-color:rgba(176,119,36,.5)}
.pp-kick{font-size:10.5px;font-weight:800;letter-spacing:.13em;color:var(--mute);margin-bottom:8px}
.pp-card h2{font:700 1.45rem var(--serif,Fraunces,serif);color:var(--ink);margin:0 0 12px}
.pp-p{font-size:14.5px;color:var(--dim);line-height:1.75;margin:0 0 12px}
.pp-entry{background:#26241f;color:#f7f4ec;border-radius:12px;padding:14px 18px;font:600 14px/1.9 ui-monospace,Consolas,monospace;margin:4px 0 14px}
.pp-qbox{background:var(--bg,#faf7f2);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-top:16px}
.pp-q{font-size:15px;font-weight:700;color:var(--ink);margin:0 0 12px;line-height:1.5}
.pp-src{font-size:11.5px;color:var(--mute);margin:14px 0 0}
