:root{--bg:#0b1220;--line:#94a3b82e;--text:#e2e8f0;--muted:#94a3b8;--brand:#60a5fa;--brand-strong:#2563eb;--success:#34d399;--warning:#fbbf24;--danger:#f87171}*{box-sizing:border-box}.cards>.card,.card-title-block,.card-platform-row,.card-meta>*,.contacts>*{min-width:0}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(1100px 520px at 50% -10%, #1e293b 0%, var(--bg) 55%) no-repeat, var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}.page{max-width:1040px;margin:0 auto;padding:24px 16px 18px}.hero{text-align:center;margin-bottom:18px}.brand{align-items:center;gap:12px;display:inline-flex}.brand-mark{object-fit:cover;background:0 0;border-radius:14px;width:44px;height:44px;display:block;box-shadow:0 6px 18px #1e3a8a42}.hero h1{letter-spacing:5px;margin:0;font-size:32px}.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.hint{text-align:center;color:var(--muted);grid-column:1/-1;padding:30px 0}.card{border:1px solid var(--line);background:linear-gradient(#1e293be6,#0f172ae6);border-radius:16px;grid-template-rows:1fr auto auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px 12px;padding:14px 16px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid}.card-active{cursor:pointer}.card-active:hover,.card-active:focus-visible{border-color:#60a5fa8c;outline:none;transform:translateY(-3px);box-shadow:0 16px 36px #2563eb38}.card-empty{opacity:.66}.card-matched{border-color:#60a5facc;box-shadow:0 0 0 2px #60a5fa47,0 12px 30px #2563eb4d}@media (width<=480px){.card-matched{box-shadow:0 0 0 1px #60a5fa4d,0 8px 20px #2563eb3d}}.card-platform-row{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.card-badge{letter-spacing:0;white-space:nowrap;border:1px solid #0000;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.6}.card-badge-success{color:var(--success);background:#34d39924;border-color:#34d3998c}.card-badge-warning{color:var(--warning);background:#fbbf2424;border-color:#fbbf248c}.card-badge-danger{color:var(--danger);background:#f8717124;border-color:#f871718c}.card-icon{width:42px;height:42px;color:var(--brand);background:#94a3b81a;border-radius:12px;grid-area:1/1;place-items:center;display:grid;overflow:hidden}.card-title-block{grid-area:1/2}.card>.download-text,.card>.download-disabled{grid-area:1/3}.download-disabled{color:#64748b;align-items:center;min-height:32px;font-size:12.5px;display:inline-flex}.card-icon img{object-fit:contain;width:100%;height:100%}.card-platform{letter-spacing:1px;color:var(--muted);font-size:11px}.card-name{overflow-wrap:anywhere;margin-top:1px;font-size:15.5px;font-weight:600;line-height:20px}.card-meta{color:var(--muted);flex-wrap:wrap;grid-area:2/1/auto/-1;align-items:center;gap:8px;min-height:22px;font-size:12.5px;display:flex}.card-meta-awaiting{color:#64748b}.card-changelog{color:#cbd5e1;white-space:pre-wrap;overflow-wrap:anywhere;grid-area:3/1/auto/-1;max-height:38px;margin:0;font-size:12.5px;line-height:1.5;overflow:hidden}.download-text{background:linear-gradient(135deg, var(--brand-strong), var(--brand));color:#fff;border-radius:999px;padding:7px 15px;font-size:13.5px;font-weight:600;display:inline-block}.footer{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.contacts{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;display:flex}.contact{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#94a3b80f;border-radius:11px;align-items:center;gap:8px;padding:8px 13px;font-family:inherit;font-size:13.5px;text-decoration:none;display:inline-flex}.contact:hover{border-color:#60a5fa80}.contact-label{color:var(--muted);font-size:12.5px}.contact-value{font-weight:600}.contact-copy{border:1px dashed var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;padding:7px 11px;font-family:inherit;font-size:12.5px}.contact-copy:hover{color:var(--text);border-color:#60a5fa80}.toast{border:1px solid var(--line);color:var(--text);background:#0f172af2;border-radius:999px;padding:9px 18px;font-size:13.5px;position:fixed;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0006}@media (width<=480px){.page{padding:20px 14px 16px}.hero h1{font-size:28px}.brand-mark{width:40px;height:40px;font-size:20px}}
