:root{--bg: #0f1117;--surface: #1a1d27;--border: #2a2d3a;--text: #e1e4eb;--text-dim: #8b8fa3;--accent: #4f8ff7;--security: #ef4444;--devops: #f59e0b;--tech-dev: #10b981;--general: #6b7280}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}.container{max-width:900px;margin:0 auto;padding:1.5rem 1rem}.header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.header h1{font-size:1.4rem;font-weight:700}.header h1 span{color:var(--accent)}.date-nav{display:flex;align-items:center;gap:.5rem}.date-nav button{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.35rem .75rem;border-radius:6px;cursor:pointer;font-size:.85rem}.date-nav button:hover{border-color:var(--accent)}.date-nav input[type=date]{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.35rem .6rem;border-radius:6px;font-size:.85rem}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem}.summary-card h2{font-size:.9rem;color:var(--text-dim);margin-bottom:.5rem}.summary-card p{font-size:.92rem}.trending-section{margin-bottom:1rem}.trending-section h2{font-size:.9rem;color:var(--text-dim);margin-bottom:.5rem}.trending-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem}.repo-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;text-decoration:none;color:var(--text);transition:border-color .15s;display:block}.repo-card:hover{border-color:var(--accent)}.repo-card-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem}.repo-card-name{font-size:.85rem;font-weight:600;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repo-card-stars{font-size:.75rem;color:#fbbf24;white-space:nowrap;flex-shrink:0}.repo-card-desc{font-size:.8rem;color:var(--text-dim);margin-bottom:.35rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stats{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.stat-badge{font-size:.75rem;padding:.25rem .6rem;border-radius:20px;background:var(--surface);border:1px solid var(--border);color:var(--text-dim)}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem}.filters select,.filters input{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.4rem .6rem;border-radius:6px;font-size:.85rem;min-width:120px}.filters input{flex:1;min-width:180px}.news-list{display:flex;flex-direction:column;gap:.6rem}.news-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.9rem 1.1rem;transition:border-color .15s}.news-card:hover{border-color:var(--accent)}.news-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.news-card-title{font-size:.95rem;font-weight:600;color:var(--accent);text-decoration:none}.news-card-title:hover{text-decoration:underline}.news-card-score{font-size:.75rem;font-weight:700;padding:.15rem .5rem;border-radius:12px;white-space:nowrap;flex-shrink:0}.score-high{background:#10b98133;color:#34d399}.score-mid{background:#f59e0b33;color:#fbbf24}.score-low{background:#6b728033;color:#9ca3af}.news-card-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.35rem}.tag{font-size:.7rem;padding:.1rem .45rem;border-radius:4px;font-weight:600;text-transform:uppercase}.tag-security{background:#ef444433;color:var(--security)}.tag-devops{background:#f59e0b33;color:var(--devops)}.tag-tech-dev{background:#10b98133;color:var(--tech-dev)}.tag-general{background:#6b728033;color:var(--general)}.tag-source{background:#4f8ff733;color:var(--accent)}.news-card-summary{font-size:.85rem;color:var(--text-dim)}.loading,.error-msg,.empty{text-align:center;padding:3rem 1rem;color:var(--text-dim)}.error-msg{color:var(--security)}.item-count{font-size:.8rem;color:var(--text-dim);margin-bottom:.75rem}@media (max-width: 600px){.header{flex-direction:column;align-items:flex-start}.filters{flex-direction:column}.filters select,.filters input{min-width:100%}}
