/* Add once alongside the existing theme. All rules are limited to new resource components. */
.ap-resource,.ap-guide-feature,.ap-guide-hub{box-sizing:border-box;color:inherit}
.ap-resource :where(p,li){font-family:inherit;font-size:inherit;line-height:inherit}
.ap-resource .ap-resource-deck{margin-block:0 1.25em;color:inherit}
.ap-resource .ap-resource-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem 1.15rem;margin:1.25rem 0;border:1px solid var(--ap-line);border-left:4px solid var(--ap-accent);border-radius:var(--ap-radius,8px);background:var(--ap-surface)}
.ap-resource .ap-resource-button,.ap-guide-feature .ap-resource-button,.ap-guide-hub .ap-resource-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border:1px solid transparent;border-radius:var(--ap-radius,8px);background:var(--ap-button);color:var(--ap-button-ink);font-family:var(--ap-ui);font-size:.92rem;font-weight:700;line-height:1.3;text-decoration:none}
.ap-resource .ap-resource-button:focus-visible,.ap-guide-feature a:focus-visible,.ap-guide-hub a:focus-visible{outline:3px solid var(--ap-accent);outline-offset:3px}
.ap-resource .ap-resource-tools a:not(.ap-resource-button){font-family:var(--ap-ui);font-size:.9rem;color:inherit;text-decoration:underline;text-underline-offset:.2em}
.ap-resource .ap-resource-figure{margin:1.5rem 0;max-width:100%}
.ap-resource .ap-resource-figure img{display:block;width:100%;height:auto;max-width:100%;max-height:none;object-fit:contain;border-radius:var(--ap-radius,8px)}
.ap-resource .ap-resource-figure figcaption{font-family:var(--ap-ui);font-size:.82rem;line-height:1.5;margin-top:.65rem;color:inherit;opacity:.85}
.ap-resource .ap-resource-related{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--ap-line)}
.ap-resource .ap-resource-references{font-family:var(--ap-ui);font-size:.85rem;line-height:1.6;margin-top:1.5rem}
.ap-guide-feature{margin:1.5rem 0;padding:1.1rem 1.25rem;border:1px solid var(--ap-line);border-top:3px solid var(--ap-accent);background:var(--ap-surface);border-radius:var(--ap-radius,8px)}
.ap-guide-feature .ap-guide-heading,.ap-guide-hub .ap-guide-heading{font-family:var(--ap-display);font-weight:700;font-size:clamp(1.6rem,2.3vw,2rem);line-height:1.15;margin:0}
.ap-guide-feature .ap-guide-kicker{font-family:var(--ap-ui);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ap-accent);margin:0 0 .45rem}
.ap-guide-feature .ap-guide-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}
.ap-guide-card{display:block;min-width:0;padding:1rem;border:1px solid var(--ap-line);border-radius:var(--ap-radius,8px);color:inherit;text-decoration:none;background:var(--ap-paper)}
.ap-guide-card h3{font-family:var(--ap-display);font-size:1.2rem;line-height:1.2;margin:0 0 .5rem;color:inherit}
.ap-guide-card p{font-family:var(--ap-ui);font-size:.9rem;line-height:1.5;margin:0}
.ap-guide-card small{display:block;margin-top:.65rem;font-family:var(--ap-ui);font-size:.75rem;color:inherit}
.ap-guide-feature .ap-guide-heading-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.ap-guide-feature .ap-guide-heading-row>a{font-family:var(--ap-ui);font-size:.9rem;color:inherit;text-decoration:underline}
.ap-guide-shortcuts{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0;font-family:var(--ap-ui)}
.ap-guide-shortcuts a{padding:.55rem .8rem;border:1px solid var(--ap-line);border-radius:999px;color:inherit;text-decoration:none;font-size:.88rem;background:var(--ap-surface)}
.ap-guide-hub .ap-guide-group{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--ap-line)}
.ap-guide-hub .ap-guide-group h2{font-family:var(--ap-display);color:inherit}
.ap-guide-hub .ap-guide-group ul{padding-left:1.25rem}
.ap-guide-hub .ap-guide-group li{margin:.75rem 0}
.ap-guide-hub .ap-guide-group a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
@media(max-width:640px){.ap-guide-feature{padding:1rem}.ap-guide-feature .ap-guide-row{grid-template-columns:1fr;gap:.6rem}.ap-guide-feature .ap-guide-heading-row{align-items:flex-start;flex-direction:column;gap:.5rem}.ap-guide-card{padding:.85rem}.ap-resource .ap-resource-tools{align-items:stretch;flex-direction:column}.ap-resource .ap-resource-button{width:100%}.ap-guide-shortcuts{gap:.4rem}.ap-guide-shortcuts a{font-size:.82rem}}
