*{box-sizing:border-box;margin:0;padding:0}body{color:#e0e0e0;background:#0a0a0f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.app{max-width:960px;margin:0 auto;padding:24px 16px}header{margin-bottom:24px}header h1{color:#fff;margin-bottom:4px;font-size:24px;font-weight:600}.stats{color:#888;font-size:13px}.stats .sep{color:#444;margin:0 6px}.search-bar{gap:8px;margin-bottom:16px;display:flex}.search-bar input{color:#e0e0e0;background:#161620;border:1px solid #2a2a3a;border-radius:8px;outline:none;flex:1;padding:10px 14px;font-size:15px;transition:border-color .2s}.search-bar input:focus{border-color:#5b6ef7}.search-bar input::placeholder{color:#555}.search-bar button{color:#fff;cursor:pointer;white-space:nowrap;background:#5b6ef7;border:none;border-radius:8px;padding:10px 20px;font-size:14px}.search-bar button:hover{background:#4a5de6}.search-bar button:disabled{opacity:.5;cursor:default}.filters{margin-bottom:20px}.kind-filters{align-items:center;gap:6px;margin-bottom:10px;display:flex}.kind-btn,.clear-btn{color:#aaa;cursor:pointer;background:#1a1a2a;border:1px solid #2a2a3a;border-radius:16px;padding:4px 12px;font-size:13px}.kind-btn:hover,.clear-btn:hover{color:#ddd;border-color:#5b6ef7}.kind-btn.active{color:#fff;background:#5b6ef7;border-color:#5b6ef7}.clear-btn{color:#666;margin-left:8px;font-size:12px}.region-select{color:#aaa;cursor:pointer;background:#1a1a2a;border:1px solid #2a2a3a;border-radius:16px;outline:none;padding:4px 8px;font-size:13px}.region-select:hover{color:#ddd;border-color:#5b6ef7}.region-select:focus{border-color:#5b6ef7}.topic-filters{flex-wrap:wrap;gap:4px;display:flex}.topic-btn{color:#777;cursor:pointer;background:#12121e;border:1px solid #223;border-radius:12px;padding:3px 10px;font-size:12px}.topic-btn:hover{color:#bbb;border-color:#5b6ef7}.topic-btn.active{color:#aac4ff;background:#1e1e3a;border-color:#5b6ef7}.topic-btn .count{color:#555;margin-left:4px;font-size:11px}.topic-btn.active .count{color:#79c}.results{flex-direction:column;gap:8px;display:flex}.status{text-align:center;color:#666;padding:32px}.card{background:#12121e;border:1px solid #1e1e2e;border-radius:10px;padding:14px 16px;transition:border-color .2s}.card:hover{border-color:#2a2a4a}.card-header{align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.card-header a{color:#7b8fff;font-size:15px;font-weight:500;text-decoration:none}.card-header a:hover{text-decoration:underline}.similarity{color:#4a6;white-space:nowrap;background:#0a1a10;border-radius:4px;padding:1px 6px;font-size:12px}.description{color:#999;margin-bottom:8px;font-size:13px;line-height:1.4}.tags{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.tag{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500}.kind-api{color:#6a6;background:#1a2a1a}.kind-dataset{color:#77a;background:#1a1a2a}.kind-service{color:#aa7;background:#2a2a1a}.kind-code{color:#a77;background:#2a1a1a}.tag.topic{color:#668;cursor:pointer;background:#161628}.tag.topic:hover{color:#99b;background:#1e1e3a}.tag.region{color:#6a8a7a;cursor:pointer;background:#1a2028}.tag.region:hover{color:#8ab;background:#1e2a30}.card-meta{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.card-url{color:#444;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;text-decoration:none;overflow:hidden}.card-url:hover{color:#666;text-decoration:underline}.card-updated{color:#555;white-space:nowrap;flex-shrink:0;font-size:11px}.card-age{color:#7a7;white-space:nowrap;background:#0a1a10;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:11px}.card-sources{color:#444;margin-top:2px;font-size:11px}.card-sources a{color:#668;text-decoration:none}.card-sources a:hover{color:#99b;text-decoration:underline}.recent-section{margin-bottom:24px}.recent-section h2{color:#ccc;margin-bottom:12px;font-size:16px;font-weight:600}.recent-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;display:grid}.expand-indicator{color:#444;flex-shrink:0;margin-left:auto;font-size:16px;line-height:1}.card:hover .expand-indicator{color:#666}.sentinel{min-height:1px;padding:8px 0}.modal-backdrop{z-index:1000;background:#000000b3;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:#14141f;border:1px solid #2a2a4a;border-radius:14px;width:100%;max-width:720px;padding:28px 32px;position:relative;box-shadow:0 24px 64px #0009}.modal-close{color:#555;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:16px;line-height:1;position:absolute;top:16px;right:16px}.modal-close:hover{color:#aaa;background:#1e1e2e}.modal-header{margin-bottom:20px;padding-right:32px}.modal-title{margin-bottom:8px;font-size:20px;font-weight:600;line-height:1.3}.modal-title a{color:#9aacff;text-decoration:none}.modal-title a:hover{text-decoration:underline}.modal-tags{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.modal-url{color:#446;word-break:break-all;font-size:12px;text-decoration:none}.modal-url:hover{color:#77a;text-decoration:underline}.modal-section{border-top:1px solid #1e1e2e;padding:16px 0}.modal-section-heading{color:#556;text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px;font-size:11px;font-weight:600}.modal-descriptions{flex-direction:column;gap:10px;display:flex}.modal-desc{color:#bbb;font-size:14px;line-height:1.6}.modal-analysis{color:#aaa;white-space:pre-wrap;font-size:14px;line-height:1.65}.modal-tags-block{flex-wrap:wrap;gap:5px;display:flex}.modal-sources{color:#555;flex-wrap:wrap;align-items:baseline;gap:4px;font-size:12px;display:flex}.modal-sources-label{color:#444;margin-right:2px}.modal-sources a{color:#668;text-decoration:none}.modal-sources a:hover{color:#99b;text-decoration:underline}.modal-sources-sep{color:#444}.modal-related{flex-direction:column;gap:12px;display:flex}.modal-related-item{background:#0e0e1a;border:1px solid #1e1e2e;border-radius:8px;padding:12px}.modal-related-header{flex-wrap:wrap;align-items:baseline;gap:6px;margin-bottom:4px;display:flex}.modal-related-header a{color:#7b8fff;font-size:14px;font-weight:500;text-decoration:none}.modal-related-header a:hover{text-decoration:underline}.modal-related-kinds{gap:4px;display:flex}.modal-related-desc{color:#777;margin:0;font-size:13px;line-height:1.5}.modal-footer{color:#444;border-top:1px solid #1e1e2e;gap:16px;padding-top:12px;font-size:11px;display:flex}
