@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;700;900&family=Inter:wght@400;500;600&family=JetBrains+Mono&display=swap";:root{--lw-bg: #ffffff;--lw-bg-alt: #f8f9fa;--lw-black: #000000;--lw-gray: #444444;--lw-pink: #e83e8c;--lw-green: #27c93f;--lw-border: 2px solid #000000;--lw-shadow: 4px 4px 0px #000000;--lw-shadow-lg: 8px 8px 0px #000000;font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--lw-bg);color:var(--lw-black);margin:0;overflow-x:hidden}body{margin:0;padding:0;min-height:100vh;background-image:radial-gradient(var(--lw-black) 1px,transparent 1px);background-size:40px 40px;background-attachment:fixed}#root{display:flex;min-height:100vh}.bento-card{background:var(--lw-bg);border:var(--lw-border);box-shadow:var(--lw-shadow);border-radius:12px;padding:1.5rem;transition:transform .1s ease,box-shadow .1s ease}.bento-card:hover{transform:translate(-2px,-2px);box-shadow:var(--lw-shadow-lg)}h1,h2,h3,h4{font-family:Outfit,sans-serif;font-weight:700;letter-spacing:-.02em;margin:0;text-transform:none}.text-pink{color:var(--lw-pink)}.mono{font-family:JetBrains Mono,monospace}button{background:var(--lw-black);color:var(--lw-bg);border:var(--lw-border);padding:.75rem 1.5rem;border-radius:8px;font-family:Outfit,sans-serif;font-weight:700;cursor:pointer;transition:all .1s ease;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em;box-shadow:var(--lw-shadow)}button:hover{background:var(--lw-bg);color:var(--lw-black);transform:translate(-2px,-2px);box-shadow:var(--lw-shadow-lg)}button.secondary{background:var(--lw-bg);color:var(--lw-black)}button:disabled{background:var(--lw-bg-alt);color:var(--lw-gray);border-color:var(--lw-gray);box-shadow:none;cursor:not-allowed;transform:none}.status-pill{padding:4px 12px;border-radius:20px;font-size:.7rem;font-weight:800;text-transform:uppercase;border:1px solid currentColor}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--lw-bg-alt)}::-webkit-scrollbar-thumb{background:var(--lw-black);border:2px solid var(--lw-bg-alt)}.catalog-page{width:100%;padding:1.5rem 2rem 2.5rem;box-sizing:border-box}.catalog-header h1{font-size:2.3rem}.catalog-header p{margin-top:.4rem;color:var(--lw-gray);max-width:860px}.catalog-metrics{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:1rem 0}.catalog-metric{background:#fff;border:1px solid #d8d8d8;border-radius:10px;padding:.7rem .9rem}.catalog-metric span{display:block;font-size:.74rem;text-transform:uppercase;color:#666;font-weight:700}.catalog-metric strong{font-family:Outfit,sans-serif;font-size:1.3rem}.catalog-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;margin-bottom:1rem}.catalog-controls input,.catalog-controls select{border:1px solid #d3d3d3;border-radius:8px;padding:.6rem .65rem;font:inherit}.catalog-table-wrap{padding:0;overflow:auto}.catalog-table{width:100%;border-collapse:collapse;min-width:1180px}.catalog-table thead th{position:sticky;top:0;background:#f2f4fb;border-bottom:1px solid #d5d5d5;padding:.7rem;text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.03em}.catalog-table thead th:nth-child(2),.catalog-table thead th:nth-child(4),.catalog-table thead th:nth-child(5),.catalog-table thead th:nth-child(6),.catalog-table thead th:nth-child(7){cursor:pointer}.catalog-table tbody td{border-bottom:1px solid #ececec;padding:.7rem;vertical-align:top;font-size:.9rem}.catalog-table tbody tr:hover{background:#fbfbfe}.catalog-name{font-weight:700}.catalog-desc{margin-top:.2rem;color:var(--lw-gray);font-size:.82rem;max-width:360px}.catalog-links{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.82rem}.catalog-score{display:inline-block;border-radius:999px;padding:.2rem .55rem;font-weight:800;font-size:.72rem}.catalog-score.ok{background:#e7f8ee;color:#0f7c3c}.catalog-score.warn{background:#f2f2f2;color:#555}.catalog-pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}#root{width:100%;min-height:100vh}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
