/* plugins.html: the plugin marketplace. Colours come from style.css. */
.mk-hero{padding:34px 0 8px}
.mk-hero h1{margin:0 0 10px;font-size:clamp(32px,5vw,48px)}
.mk-hero .lead{margin:0;max-width:600px}

.mk-trust{display:flex;gap:12px;align-items:flex-start;margin:22px 0 0;padding:12px 16px;border-radius:12px;background:color-mix(in srgb,var(--amber) 9%,transparent);border:1px solid color-mix(in srgb,var(--amber) 35%,var(--line));color:var(--dim);font-size:14px;line-height:1.5}
.mk-trust svg{flex:none;width:18px;height:18px;margin-top:2px;color:var(--amber)}
.mk-trust b{color:var(--text)}

.mk-bar{position:sticky;top:0;z-index:5;display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:26px -20px 22px;padding:12px 20px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.mk-search{position:relative;flex:1 1 240px;max-width:360px}
.mk-search svg{position:absolute;left:13px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:var(--dim);pointer-events:none}
.mk-search input{width:100%;padding:10px 14px 10px 38px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;font-size:15px}
.mk-search input:focus{outline:2px solid var(--accent);outline-offset:1px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{padding:6px 14px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--dim);font:inherit;font-size:14px;cursor:pointer}
.chip:hover{color:var(--text);background:var(--panel)}
.chip[aria-pressed=true]{background:var(--text);color:var(--bg)}
.mk-count{margin-left:auto;color:var(--dim);font-size:13px}

.mk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:16px}
.mk-card{display:flex;flex-direction:column;gap:14px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--panel);transition:border-color .15s}
.mk-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}
.mk-head{display:flex;gap:14px;align-items:center}
.mk-icon{flex:none;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:20px;font-weight:700;color:#fff;background:linear-gradient(135deg,hsl(var(--h) 70% 58%),hsl(calc(var(--h) + 40) 70% 42%))}
.mk-icon{position:relative;overflow:hidden}
.mk-icon.has-logo{background:transparent}
.mk-icon img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.mk-title{min-width:0}
.mk-title h3{margin:0;font-size:18px;line-height:1.25;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.mk-by{margin:2px 0 0;color:var(--dim);font-size:13px}
.mk-badge{display:inline-flex;gap:4px;align-items:center;padding:1px 8px 1px 6px;border-radius:999px;background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green);font-size:12px;font-weight:600}
.mk-badge svg{width:12px;height:12px}
.mk-desc{color:var(--dim);font-size:15px;line-height:1.55}
.mk-desc p,.mk-desc ul,.mk-desc ol,.mk-desc h4{margin:0 0 8px}
.mk-desc>p:last-child,.md>:last-child{margin-bottom:0}
.mk-desc h4{color:var(--text);font-size:15px}
.mk-desc ul,.mk-desc ol{padding-left:20px}
.mk-desc li{margin:2px 0}
.mk-desc code{font-size:13px;padding:1px 5px;border-radius:5px;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}
.mk-desc strong{color:var(--text)}
.md.clamped{max-height:7.8em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.mk-more{margin-top:6px;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:13.5px;cursor:pointer}
.mk-more:hover{text-decoration:underline}

.mk-group{display:flex;flex-direction:column;gap:6px}
.mk-label{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.mk-meta{display:flex;flex-wrap:wrap;gap:6px}
.pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;border:1px solid var(--line);font-size:12.5px;color:var(--dim)}
.pill.api{color:var(--text)}
.pill.perm{border-color:color-mix(in srgb,var(--amber) 45%,var(--line));color:var(--amber)}
.pill.none{--red:#f87171;color:var(--red);border-color:color-mix(in srgb,var(--red) 55%,var(--line));background:color-mix(in srgb,var(--red) 10%,transparent);animation:mk-pulse 1.8s ease-in-out infinite}
@keyframes mk-pulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--red) 45%,transparent)}50%{box-shadow:0 0 0 5px transparent}}
@media (prefers-reduced-motion:reduce){.pill.none{animation:none}}
.pill.tag{border-color:transparent;background:color-mix(in srgb,var(--text) 7%,transparent)}

.mk-actions{margin-top:auto;display:flex;gap:10px;align-items:center;padding-top:2px}
.mk-actions .btn{padding:9px 20px;font-size:15px;border-radius:10px}
.mk-src{display:inline-flex;gap:6px;align-items:center;padding:8px 14px;border:1px solid var(--line);border-radius:10px;color:var(--text);font-size:14px}
.mk-src:hover{text-decoration:none;border-color:var(--dim)}
.mk-src svg{width:15px;height:15px}

.fallback{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-size:14px;color:var(--dim)}
.fallback code{color:var(--text)}
.fallback button{font:inherit;font-size:13px;margin-left:6px;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:6px;padding:2px 8px}
.empty{color:var(--dim);grid-column:1/-1;padding:40px 0;text-align:center}

.mk-make{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;margin-top:48px;padding:26px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.mk-make h2{font-size:22px;margin:0 0 6px}
.mk-make p{margin:0;color:var(--dim);font-size:15px;max-width:560px}
.mk-make .links{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:700px){.mk-make{grid-template-columns:1fr}.mk-count{margin-left:0}}
