.pl-title { font-family: var(--font-display); font-weight: 400; font-size: 34px; line-height: 1.15; margin: 0; }
.pl-sub { color: var(--text-4); font-size: 18px; margin: 8px 0 0; }
.pl-h { font-family: var(--font-display); font-weight: 400; font-size: 21px; margin: 40px 0 4px; }
.pl-hsub { color: var(--muted); font-size: 15.5px; margin: 0; }
.pl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 14px; align-items: start; }
.pl-grid.soon { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pl-card { background: var(--bg1); border: 1px solid var(--border); border-radius: 12px; padding: 18px 20px 20px; min-width: 0; }
.pl-card.main { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }
.pl-card.soon { border-style: dashed; border-color: var(--amber-40); background: transparent; padding: 14px 16px 16px; }
.pl-card h3 { font-family: var(--font-display); font-weight: 400; font-size: 21px; margin: 10px 0 6px; }
.pl-card.soon h3 { font-size: 18px; }
.pl-card p { margin: 0; color: var(--text-3); font-size: 16px; }
.pl-card.soon p { font-size: 15px; color: var(--text-4); }
.pl-tag { display: inline-block; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; border-radius: 20px; padding: 2px 10px; border: 1px solid var(--border-hi); }
.pl-tag.ready { color: var(--green-text); border-color: var(--green); background: var(--green-pale); }
.pl-tag.soon { color: var(--amber-text); border-color: var(--amber-40); background: var(--amber-18); }
.pl-tag.test { color: var(--blue-text); border-color: var(--blue); }
.pl-btn { display: inline-flex; align-items: center; min-height: 44px; margin-top: 14px; padding: 0 16px; border-radius: 8px; border: 1px solid var(--border-hi); background: var(--bg2); color: var(--text); text-decoration: none; font-size: 16px; }
.pl-btn:hover { background: var(--bg3); }
.pl-btn.primary { background: var(--blue); border-color: var(--blue); color: var(--on-blue-fg); font-weight: 700; }
.pl-btn.primary:hover { filter: brightness(1.06); background: var(--blue); }
.pl-btn.off { pointer-events: none; opacity: .55; }
.pl-btn:focus-visible, .pl-card summary:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.pl-card .pl-meta { color: var(--muted); font-size: 14px; margin-top: 8px; min-height: 1.4em; }
.pl-card details { margin-top: 10px; font-size: 15.5px; color: var(--text-3); }
.pl-card summary { cursor: pointer; color: var(--blue-text); min-height: 32px; display: inline-flex; align-items: center; }
.pl-card ol { margin: 6px 0 0; padding-left: 20px; }
.pl-card li { margin: 4px 0; }
@media (max-width: 1000px) { .pl-grid.soon { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .pl-grid, .pl-grid.soon { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .pl-title { font-size: 25px; } .pl-sub { font-size: 16.5px; }
  .pl-btn { width: 100%; justify-content: center; }
}

.pl-card .pl-meta a { color: var(--blue-text); }
.pl-card .pl-meta a.off { pointer-events: none; opacity: .55; color: var(--muted); }
