/* Extra components for the secondary pages (education, community, api, blog, changelog, roadmap, docs).
   Builds on pages-design.css; same tokens (--line, --muted, --ink, --violet, --cyan). */
.hidden{display:none!important}

/* --- hero visuals ------------------------------------------------------ */
.pm-student{padding:28px;max-width:440px;margin-inline:auto}
.pm-student-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.pm-student-plan{margin:26px 0 8px}
.pm-student-plan small{display:block;font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.pm-student-plan b{display:block;font-size:56px;letter-spacing:-.05em;line-height:1.05;background:linear-gradient(115deg,#7c3aed,#2563eb 55%,#06b6d4);-webkit-background-clip:text;background-clip:text;color:transparent}
.pm-student-plan span{font-size:13px;color:var(--muted)}
.pm-student-mail{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:12px;color:#334155;background:#f8fafc}
.pm-student-mail i{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px #10b98122}
.pm-student-mail em{margin-left:auto;font-style:normal;color:#10b981;font-weight:800}
.pm-stat-inline{margin:0;min-width:min(520px,100%)}
.pm-stat-inline .pd-stat{padding:22px 18px}
.pm-stat-inline b{display:block;font-size:26px;letter-spacing:-.04em;font-weight:750}
.pm-stat-inline small{display:block;margin-top:4px;font-size:11px;color:var(--muted);line-height:1.4}
.pd-stat b{display:block;font-size:34px;letter-spacing:-.045em;font-weight:750}
.pd-stat small{display:block;margin-top:6px;font-size:12px;color:var(--muted)}

/* --- community feed ----------------------------------------------------- */
.pm-feed{display:grid;gap:12px;align-content:center}
.pm-post{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px 18px;color:#fff;animation:pm-float 6s ease-in-out infinite;animation-delay:var(--d,0s)}
.pm-post-head{display:flex;align-items:center;gap:10px;font-size:12px;margin-bottom:8px}
.pm-post-head i{width:26px;height:26px;border-radius:50%;display:inline-block}
.pm-post-head span{margin-left:auto;color:#a1a1aa}
.pm-post p{font-size:13px;line-height:1.6;color:#e4e4e7!important;margin:0}
.pm-post-foot{display:flex;gap:16px;margin-top:10px;font-size:11px;color:#a1a1aa}
.pm-post-foot span:last-child{margin-left:auto;color:#c4b5fd;font-weight:700}
@keyframes pm-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.pm-social{display:block;text-decoration:none;color:inherit}
.pm-social .pd-text-link{margin-top:18px}

/* --- api ---------------------------------------------------------------- */
.pm-endpoint{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.pm-endpoint code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;color:#0f172a;background:#f1f5f9;border-radius:8px;padding:5px 9px}
.pm-method{font-size:10px;font-weight:800;letter-spacing:.08em;border-radius:7px;padding:5px 8px;color:#fff;background:#0a0a0a}
.pm-method.pm-get{background:#059669}.pm-method.pm-post{background:#2563eb}.pm-method.pm-put{background:#d97706}
.pd-hero-visual .pd-code{width:100%;box-shadow:0 40px 80px -40px rgba(15,23,42,.6)}

/* --- blog --------------------------------------------------------------- */
.pm-post-card{display:block;text-decoration:none;color:inherit;padding:0;overflow:hidden}
.pm-post-card .pd-kicker{margin:20px 24px 0}
.pm-post-card h3{margin:10px 24px 8px;font-size:18px;font-weight:700;letter-spacing:-.02em}
.pm-post-card p{margin:0 24px 24px;font-size:13px;color:var(--muted);line-height:1.7}
.pm-cover{height:170px;background:#f1f5f9;overflow:hidden}
.pm-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pm-post-card:hover .pm-cover img{transform:scale(1.04)}
.pm-cover-gradient{background:linear-gradient(135deg,#7c3aed,#2563eb 60%,#06b6d4)}

/* --- changelog ----------------------------------------------------------- */
.pm-releases{margin-bottom:64px;display:grid;gap:12px}
.pm-releases:empty{display:none;margin:0}
.pm-releases .pd-title{margin-bottom:8px}
.pm-release{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;padding:22px 26px}
.pm-release:hover{transform:none}
.pm-version{display:inline-flex;align-items:center;border-radius:999px;background:#0a0a0a;color:#fff;font-size:12px;font-weight:800;padding:6px 12px;letter-spacing:.02em}
.pm-release p{margin-top:8px;white-space:pre-line}
.pd-timeline .pd-milestone{--delay:0ms}
.pd-page-changelog .pd-timeline{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.pd-page-changelog .pd-timeline{grid-template-columns:1fr}}

/* --- roadmap ------------------------------------------------------------- */
.pm-phase-num{display:inline-flex;width:44px;height:44px;border-radius:14px;background:#0a0a0a;color:#fff;font-size:18px;align-items:center;justify-content:center;vertical-align:middle;margin-right:6px;font-family:'Plus Jakarta Sans',sans-serif;font-style:normal}
.pd-card .pd-status{margin-top:18px}
.pd-status.pm-released:before{background:#10b981}
.pd-status.pm-progress:before{background:#7c3aed;box-shadow:0 0 0 4px #7c3aed22;animation:pm-pulse 2s ease-in-out infinite}
.pd-status.pm-planned:before{background:#94a3b8}
@keyframes pm-pulse{0%,100%{box-shadow:0 0 0 3px #7c3aed22}50%{box-shadow:0 0 0 7px #7c3aed11}}

/* --- documentation -------------------------------------------------------- */
.pm-quickstart{padding:0;overflow:hidden}
.pm-quickstart .pd-windowbar{padding:12px 16px}
.pm-qs-prompt{display:flex;gap:10px;align-items:center;margin:18px 20px 12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:13px;color:#0f172a;background:#fff}
.pm-qs-prompt b{color:#7c3aed}
.pm-qs-steps{display:grid;gap:8px;padding:0 20px}
.pm-qs-step{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid transparent;animation:pm-step-in .8s ease both;animation-delay:var(--d,0s)}
.pm-qs-step i{font-style:normal;width:22px;height:22px;border-radius:50%;background:#0a0a0a;color:#fff;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.pm-qs-step b{font-size:12px;display:block}
.pm-qs-step small{font-size:10px;color:var(--muted)}
.pm-qs-step em{margin-left:auto;font-style:normal;color:#10b981;font-weight:800}
@keyframes pm-step-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pm-qs-foot{display:flex;gap:6px;padding:16px 20px 20px;flex-wrap:wrap}
.pm-qs-foot span{font-size:10px;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:5px 10px;color:#334155}
.pm-search{border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:13px;min-width:220px;outline:none;background:#fff}
.pm-search:focus{border-color:#0a0a0a}
.pm-guide{display:flex;gap:14px;align-items:center;text-decoration:none;color:inherit;padding:22px}
.pm-guide-num{width:36px;height:36px;border-radius:11px;background:#0a0a0a;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;flex-shrink:0}
.pm-guide-title{font-size:15px!important;margin:0!important}
.pm-doc h1{font-size:36px;font-weight:750;letter-spacing:-.045em;margin:18px 0 8px}
.pm-doc .pd-status{margin-bottom:28px}
.doc-content{max-width:760px;font-size:16px}
.doc-content h1{font-size:1.7rem;font-weight:800;margin:1.5rem 0 .75rem;letter-spacing:-.02em}
.doc-content h2{font-size:1.35rem;font-weight:700;margin:1.5rem 0 .6rem}
.doc-content h3{font-size:1.1rem;font-weight:700;margin:1.25rem 0 .5rem}
.doc-content p{color:#475569;line-height:1.8;margin:.75rem 0}
.doc-content ul,.doc-content ol{padding-left:1.4rem;color:#475569;line-height:1.75;margin:.75rem 0}
.doc-content ul{list-style:disc}.doc-content ol{list-style:decimal}
.doc-content code{background:#f1f5f9;border-radius:6px;padding:.1rem .35rem;font-size:.9em}
.doc-content pre{background:#0a0a0a;color:#f9fafb;border-radius:14px;padding:1rem 1.25rem;overflow:auto;margin:1rem 0}
.doc-content pre code{background:transparent;padding:0;color:inherit}
.doc-content blockquote{border-left:3px solid #e2e8f0;padding-left:1rem;color:#64748b;margin:1rem 0}
.doc-content a{text-decoration:underline}

/* --- faq body ------------------------------------------------------------- */
.pd-faq-body{padding:0 24px 22px;font-size:14px;line-height:1.85;color:var(--muted)}
.pd-faq-body p{margin:0}

/* --- responsive ----------------------------------------------------------- */
@media(max-width:760px){
  .pm-student{padding:22px}
  .pm-student-plan b{font-size:44px}
  .pm-stat-inline{grid-template-columns:1fr 1fr 1fr}
  .pm-search{width:100%}
  .pm-release{grid-template-columns:1fr}
}
