/* Community gallery: reuse the site's palette, type and control geometry. */
.site-header .nav nav a[aria-current="page"]{background:var(--cream);color:var(--paper-ink)}
.memes-page{padding-top:64px;padding-bottom:90px;min-height:70vh}
.memes-intro h1{font-family:'Arial Black',var(--sans);font-size:clamp(52px,6.5vw,88px);letter-spacing:-.065em;line-height:1.05}
.memes-intro h1 span{color:var(--cream)}
.memes-intro p{margin-top:24px;color:var(--muted);font-size:19px;line-height:1.65}
.memes-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:44px 0 28px}
.meme-filters{display:flex;gap:10px;flex-wrap:wrap}
.meme-filters button{min-height:44px;padding:10px 21px;border:1px solid var(--control-border);border-radius:9999px;font-size:14px;font-weight:700}
.meme-filters button[aria-pressed="true"]{background:var(--cream);color:var(--paper-ink);border-color:var(--cream)}
.meme-filters button:hover{border-color:var(--cream)}
#meme-count{font:12px/1.5 var(--mono);color:var(--muted);white-space:nowrap}
.meme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 22px;list-style:none;margin:0;padding:0}
.meme-card{min-width:0}
.meme-image{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:var(--surface);border-radius:22px;overflow:hidden}
.meme-image img{width:100%;height:100%;object-fit:contain}
.meme-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.meme-caption h2{font-size:14px;line-height:1.4;letter-spacing:0;font-weight:700}
.meme-actions{display:flex;gap:8px;flex:none}
.meme-copy,.meme-download{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--control-border);border-radius:50%}
.meme-copy svg,.meme-download svg{width:20px;height:20px}
.meme-copy:hover,.meme-copy[data-copied],.meme-download:hover{background:var(--cream);color:var(--paper-ink)}
.memes-empty{padding:64px 24px;text-align:center;border:1px solid var(--line);border-radius:22px;background:var(--surface)}
.memes-empty h2{font-size:36px;line-height:1.1}
.memes-empty p{max-width:42ch;margin:18px auto 24px;color:var(--muted)}
.memes-empty button{min-height:44px;padding:10px 20px;border-radius:9999px;background:var(--cream);color:var(--paper-ink);font-weight:700}
.memes-page [hidden]{display:none}
@media(max-width:1050px){.meme-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}}
@media(max-width:700px){.memes-page{padding-top:44px;padding-bottom:60px}.memes-intro p{font-size:17px}.memes-toolbar{margin-top:32px;flex-wrap:wrap}.meme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.meme-image{border-radius:16px}.meme-caption{align-items:flex-start;gap:8px}.meme-caption h2{padding-top:10px;font-size:13px}}
@media(max-width:450px){.meme-grid{grid-template-columns:minmax(0,1fr)}.meme-caption{align-items:center}.meme-caption h2{font-size:15px;padding-top:0}.meme-filters button{padding-inline:18px}}

.meme-copy:disabled{cursor:wait;opacity:.6}
.copy-check,.meme-copy[data-copied] .copy-icon{display:none}
.meme-copy[data-copied] .copy-check{display:block}
#meme-copy-status:not(:empty){position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:30;width:max-content;max-width:calc(100% - 32px);padding:14px 20px;border:1px solid var(--control-border);border-radius:16px;background:var(--surface);color:var(--ink);font-size:14px;box-shadow:0 8px 32px #0008}
