:root { color-scheme: dark; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", sans-serif; background:#111; color:#f6f4ef; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:radial-gradient(circle at 15% 10%,#382c47 0,transparent 35%),#111; }
.shell { max-width:1320px; margin:auto; padding:34px 24px 70px; }
.card { background:rgba(29,28,32,.82); border:1px solid rgba(255,255,255,.1); box-shadow:0 24px 80px #0006; border-radius:24px; }
.gate { max-width:570px; padding:40px; margin:12vh auto; }
h1 { font-size:28px; margin:4px 0 14px; letter-spacing:-.04em; }.eyebrow { color:#d7b8f2; letter-spacing:.12em; font-size:11px; font-weight:700; margin:0; }
.gate p:not(.eyebrow) { color:#c8c5ca; line-height:1.75; }.key-picker,button { font:inherit; cursor:pointer; }
.key-picker { display:inline-flex; align-items:center; margin-top:16px; padding:11px 15px; border-radius:12px; background:#e5c8ff; color:#251832; font-weight:700; }.key-picker input { display:none; }
.status { color:#aaa5b1; min-height:22px; font-size:14px; }.topbar { display:flex; align-items:end; justify-content:space-between; margin-bottom:22px; }.quiet,#download { padding:9px 12px; border:1px solid #ffffff26; border-radius:10px; background:#ffffff12; color:#fff; }.hidden { display:none; }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:14px; }.tile { text-align:left; padding:0; overflow:hidden; border:0; border-radius:16px; background:#25232a; color:#fff; min-height:170px; }.tile img { width:100%; aspect-ratio:1; display:block; object-fit:cover; }.tile span { display:block; padding:10px 11px 12px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:13px; }
dialog { width:min(92vw,1100px); max-height:92vh; border:0; border-radius:20px; padding:18px; background:#18171b; color:#fff; box-shadow:0 30px 100px #000c; }dialog::backdrop { background:#000b; }dialog img { display:block; max-width:100%; max-height:75vh; margin:auto; object-fit:contain; }dialog #close { float:right; border:0; background:transparent; color:#fff; font-size:32px; line-height:1; }dialog #preview-info { padding:10px 0; color:#cbc6d2; }
@media (max-width:600px){.shell{padding:18px 14px}.gate{padding:28px 22px;margin:9vh auto}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}}
