/* Original song artwork and a native, keyboard-accessible process diagram. */
.pp-project-visual { margin:48px 0 0; padding:32px; background:#eff2e9; border:1px solid var(--line); border-radius:12px; }
.pp-visual-origin { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding-bottom:28px; font-size:clamp(20px,2vw,25px); }
.pp-visual-dot { width:13px; height:13px; background:#658046; border-radius:50%; margin-right:8px; }
.pp-visual-origin span:last-child { color:var(--muted); }
.pp-visual-covers { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.pp-visual-covers a { position:relative; display:block; min-width:0; border-radius:6px; }
.pp-visual-covers img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; display:block; border-radius:4px; }
.pp-visual-covers a>span { position:absolute; bottom:8px; left:8px; display:grid; place-items:center; min-width:28px; height:28px; background:#fafaf8; color:#1d211e; font-size:12px; border-radius:50%; }
.pp-project-visual figcaption { margin-top:20px; font-size:14px; line-height:1.6; color:var(--muted); }
.pp-process-diagram { gap:24px; }
.pp-process-diagram>li { border:1px solid var(--line); border-radius:10px; padding:24px; background:#f5f6f1; position:relative; }
.pp-process-symbol { display:block; width:80px; height:80px; margin-bottom:24px; border-radius:50%; background:#eff2e9; }
.pp-process-symbol svg { width:100%; height:100%; fill:none; stroke:#1d211e; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.pp-process-diagram .pp-process-role { display:block; }
.pp-process-detail { border-top:1px solid var(--line); padding-top:16px; margin-top:20px; }
.pp-process-detail summary { font-size:14px; line-height:1.5; min-height:44px; cursor:pointer; }
.pp-process-detail p { font-size:15px !important; margin:12px 0 0 !important; line-height:1.65 !important; }
.pp-home-journal { display:grid; grid-template-columns:1fr 1fr; gap:48px; border-top:1px solid var(--line); }
@media (max-width:900px) { .pp-visual-covers { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:700px) { .pp-project-visual { padding:22px; margin-top:32px; } .pp-visual-covers { gap:12px; } .pp-home-journal { grid-template-columns:1fr; gap:24px; } }
@media(prefers-reduced-motion:no-preference) { .pp-visual-covers a { transition:transform .2s ease; } .pp-visual-covers a:is(:hover,:focus-visible) { transform:translateY(-4px); } .pp-process-detail[open] + .pp-process-symbol { animation:none; } .pp-visual-dot { animation:project-dot-in .9s ease-out both; } @keyframes project-dot-in { from { transform:scale(.4); opacity:.3; } to { transform:scale(1); opacity:1; } } }

.project-pages-scope .pp-process-diagram .pp-process-number { margin-bottom:16px; }

.project-pages-scope .pp-prose>.pp-text-link { margin-right:24px; }
