*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,sans-serif}header{display:flex;align-items:center;justify-content:space-between;padding:16px 4vw}main{max-width:1680px;margin:auto;padding:28px 4vw 64px}h1{margin:4px 0;font-size:32px}p{margin:8px 0 20px}.filters{display:flex;gap:8px;margin-top:24px}.filters button{border:1px solid #3d3b48;background:#1b1a21;color:#c2becd;border-radius:10px;padding:10px 18px;font:inherit;cursor:pointer}.filters button[aria-selected=true]{background:#302646;color:#eee5ff;border-color:#8774b1}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:20px}article{background:#19191f;border:1px solid #33333d;border-radius:16px;overflow:hidden}article button{display:block;width:100%;padding:0;border:0;background:#111115;cursor:zoom-in}article img{display:block;width:100%;aspect-ratio:9/16;object-fit:contain}article .info{padding:14px}article h2{font-size:17px;margin:0 0 6px}article small{font-size:13px}dialog{position:fixed;max-width:min(90vw,640px);max-height:92vh;overflow:auto;border:1px solid #45424e;border-radius:18px;background:#19191f;color:#eee;padding:20px}dialog::backdrop{background:#000b}dialog img{display:block;max-width:100%;max-height:68vh;margin:auto;object-fit:contain}dialog h2{font-size:20px}#closePreview{position:sticky;float:right;top:0;border:1px solid #555;background:#25242b;color:white;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer}a{color:#bcaaff}button:focus-visible,a:focus-visible{outline:3px solid #bcaaff;outline-offset:3px}@media(max-width:600px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}article .info{padding:10px}article h2{font-size:14px}header{flex-wrap:wrap}h1{font-size:28px}}
/* Keep the icon button independent of shared dialog button padding. */
#preview #closePreview{display:grid;place-items:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;line-height:1;flex-shrink:0;z-index:5;border-radius:50%}
#closePreview svg{display:block;width:20px;height:20px;pointer-events:none}

.character-prompt{margin-top:14px;font-size:13px}.character-prompt summary{cursor:pointer;color:#c9b6ff}.character-prompt textarea{display:block;width:100%;height:180px;margin:12px 0;resize:vertical;background:#101015;color:#eee;border:1px solid #484251;border-radius:8px;padding:10px;font:12px/1.6 system-ui}.character-prompt button{width:auto;padding:8px 12px;border:1px solid #635579;border-radius:8px;color:#eee;background:#30263f;cursor:pointer}.character-prompt p{margin-top:10px;color:#aaa}
