:root{--bg: #f6f7f9;--card: #ffffff;--text: #111827;--muted: #6b7280;--border: #e5e7eb;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #0f1115;--card: #181b21;--text: #f3f4f6;--muted: #9ca3af;--border: #2a2e36}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.page{max-width:1100px;margin:0 auto;padding:28px 16px 64px}.header{margin-bottom:32px}.header h1{margin:0;font-size:32px;line-height:1.15;letter-spacing:-.02em}.header p{margin:4px 0 0;color:var(--muted);font-size:15px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.chip{padding:6px 14px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--muted);font:inherit;font-size:14px;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.chip:hover{color:var(--text)}.chip.active{background:var(--text);border-color:var(--text);color:var(--bg)}.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.tile{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--card);border:1px solid var(--border);border-radius:14px;transition:transform .15s,border-color .15s,box-shadow .15s}.tile:hover,.tile:focus-within{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 8px 24px -12px var(--accent)}.name{font-size:18px;font-weight:600;color:inherit;text-decoration:none;outline:none}.name:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.badge{display:grid;place-items:center;width:44px;height:44px;margin-bottom:4px;border-radius:12px;background:var(--accent);color:#fff;font-weight:700;font-size:20px}.desc{color:var(--muted);font-size:14px;line-height:1.45;flex:1}.hosts{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;color:var(--accent)}.mirror{position:relative;z-index:1;color:inherit;text-decoration:none}.mirror:hover{text-decoration:underline}
