:root{color-scheme:light;--acid:#edff56;--ink:#151515;--paper:#fff;--muted:#b5b5b5;font-family:Arial,Helvetica,sans-serif;font-size:100%}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper)}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #6757ff;outline-offset:5px}.skip-link{position:fixed;z-index:20;top:12px;left:12px;padding:12px 18px;background:#fff;color:#000;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.site-header{padding:4px 4.5vw}.wordmark{font-size:2rem;font-weight:900;letter-spacing:-.08em;text-decoration:none;white-space:nowrap}.wordmark span{font-weight:400;letter-spacing:-.05em}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-nav{display:flex;gap:24px;align-items:center}.site-nav a{display:flex;align-items:center;font-size:1rem;font-weight:400;padding:10px 0;text-decoration:none;min-height:44px;color:#b5b5b5}.site-nav a:hover{color:#fff}.site-nav a[aria-current=page]{color:#fff;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}@media(max-width:760px){.site-header{padding:4px 5vw}}
main{padding:28px 4.5vw 44px;min-height:40vh}.load-status{font-size:1.125rem;margin:24px 0}.meme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px}.meme-card{min-width:0;background:var(--paper);color:var(--ink);position:relative;border-radius:4px;overflow:hidden}.meme-open{display:block;padding:0;border:0;text-align:left;width:100%;color:inherit;background:transparent}.meme-open:focus-visible{outline:4px solid var(--acid);outline-offset:-4px}.image-frame{position:relative;display:flex;align-items:center;justify-content:center;height:255px;padding:12px;background:#f0f0f0;overflow:hidden}.image-frame img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .18s ease}.meme-open:hover img{transform:scale(1.035)}.meme-number{position:absolute;left:10px;top:10px;z-index:1;background:var(--ink);color:var(--acid);padding:5px 7px;font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums}.card-caption{padding:15px 15px 14px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-height:67px}.card-caption h2{font-size:1rem;line-height:1.25;letter-spacing:-.02em;margin:0;font-weight:700}.open-mark{font-size:1.35rem;line-height:1;flex-shrink:0}.card-source{display:inline-block;color:#525252;font-size:.875rem;text-underline-offset:3px;margin:0 15px 15px}.card-source:hover{color:#000}
.footer{border-top:1px solid #555;margin:0 4.5vw;padding:28px 0 36px;display:grid;grid-template-columns:1fr 2fr 1.2fr;gap:32px;align-items:start}.footer .wordmark{color:var(--acid);font-size:1.625rem}.about{font-size:.875rem;line-height:1.6;color:#d2d2d2}.about summary{cursor:pointer;color:#fff;text-decoration:underline;text-underline-offset:4px;min-height:32px}.about p{margin:12px 0 0}.about a{text-underline-offset:3px}.footer-note{font-size:.75rem;line-height:1.5;letter-spacing:.025em;color:var(--muted)}.footer-note small{display:block;font-size:.75rem;letter-spacing:0;margin-top:5px}
.meme-card{display:flex;flex-direction:column}.card-usage{font-size:1rem;line-height:1.5;color:#4b4b4b;margin:0 15px 16px;overflow-wrap:anywhere}.card-source{align-self:flex-start;margin-top:auto}.viewer-usage{font-size:1rem;line-height:1.5;color:#ddd;margin:0 0 12px;max-width:58ch;overflow-wrap:anywhere}@media(max-width:760px){.card-usage{margin-left:12px;margin-right:12px}.meme-card .card-source{margin-top:auto}}
dialog{border:0;border-radius:8px;padding:0;background:var(--ink);color:#fff;width:min(920px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto}dialog::backdrop{background:rgba(0,0,0,.86)}.viewer-shell{padding:20px}.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;color:var(--acid);font-size:.875rem;font-weight:700;letter-spacing:.04em}.close-button{color:#fff;background:transparent;border:1px solid #626262;border-radius:3px;padding:7px 12px;letter-spacing:0;font-weight:400;min-height:42px}.close-button span{font-size:1.4rem;margin-left:6px}.viewer-image-wrap{display:flex;align-items:center;justify-content:center;background:#eee;min-height:120px}.viewer-image-wrap img{display:block;max-width:100%;width:auto;height:auto;max-height:65dvh;object-fit:contain}.viewer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:18px}.viewer-caption{min-width:0}.viewer-caption h2{font-size:1.375rem;margin:0 0 8px;line-height:1.2;letter-spacing:-.025em}.viewer-caption a{color:var(--muted);font-size:.875rem;text-underline-offset:4px}.viewer-nav{display:flex;gap:8px;flex-shrink:0}.viewer-nav button{padding:11px 14px;min-height:44px;border:1px solid #626262;border-radius:3px;color:#fff;background:transparent}.viewer-nav button:hover,.close-button:hover{background:#333}.viewer-nav button:disabled{opacity:.35;cursor:default}
@media(min-width:1600px){.image-frame{height:330px}.meme-grid{gap:28px}}@media(max-width:1150px){.meme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.image-frame{height:265px}.footer{grid-template-columns:1fr 2fr}.footer-note{grid-column:2}}@media(max-width:760px){.wordmark{font-size:1.6rem}.meme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}main{padding:20px 5vw 32px}.image-frame{height:210px;padding:9px}.card-caption{padding:13px 12px 12px;min-height:63px}.card-source{margin:0 12px 13px}.footer{margin:0 5vw;padding:24px 0;gap:22px;grid-template-columns:1fr}.footer-note{grid-column:auto}.viewer-bottom{align-items:flex-start;flex-direction:column}.viewer-nav{width:100%;justify-content:flex-end}}@media(max-width:460px){.image-frame{height:175px}.card-caption h2{font-size:.875rem}.card-caption{min-height:68px}.meme-number{font-size:.75rem;left:7px;top:7px;padding:4px 6px}.open-mark{font-size:1.1rem}.viewer-shell{padding:14px}.viewer-caption h2{font-size:1.125rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.image-frame img{transition:none}}
