*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{color-scheme:light dark;--bg:#000000;--bg2:#08080f;--bg3:#10101a;--text:#c0c0c0;--text-dim:#707090;--text-bright:#e0e0f0;--accent:#ffa50a;--accent2:#4a9;--red:#e74c3c;--yellow:#f0c040;--green:#2ecc71;--border:#2a2a3a;--font:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--mono:'SF Mono','Cascadia Code','JetBrains Mono',Consolas,monospace}
[data-theme=dark]{--bg:#000000;--bg2:#08080f;--bg3:#10101a;--text:#c0c0c0;--text-dim:#707090;--text-bright:#e0e0f0;--accent:#ffa50a;--accent2:#4a9;--red:#e74c3c;--yellow:#f0c040;--green:#2ecc71;--border:#2a2a3a}
[data-theme=light]{--bg:#f8f9fa;--bg2:#ffffff;--bg3:#f0f0f5;--text:#333333;--text-dim:#6b7280;--text-bright:#111827;--accent:#d97706;--accent2:#059669;--red:#dc2626;--yellow:#d97706;--green:#059669;--border:#d1d5db}
body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.5;min-height:100vh}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
.app-header{background:var(--bg2);border-bottom:1px solid var(--border);padding:0;position:sticky;top:0;z-index:100}
.header-top{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--border)}
.logo{font-size:1.1rem;font-weight:700;color:var(--text-bright)}
.virus-nav{padding:.35rem 1rem;border-bottom:1px solid var(--border)}
.virus-pills{display:flex;gap:.35rem;flex-wrap:wrap}
.pill{padding:.2rem .7rem;border-radius:999px;font-size:.8rem;font-weight:500;border:1px solid var(--border);color:var(--text-dim);transition:.15s}
.pill:hover{color:var(--text-bright);border-color:var(--accent);text-decoration:none}
.pill.active{background:var(--accent);color:#000;border-color:var(--accent);font-weight:600}
.tab-nav{display:flex;gap:0;padding:0 1rem;overflow-x:auto}
.tab-nav a{padding:.4rem .85rem;font-size:.82rem;color:var(--text-dim);border-bottom:2px solid transparent;transition:.15s}
.tab-nav a:hover{color:var(--text-bright);text-decoration:none;border-bottom-color:var(--text-dim)}
.tab-nav a[aria-selected=true],.tab-nav a.tab-active{border-bottom-color:var(--accent);color:var(--text-bright);font-weight:500}
main{padding:1rem;max-width:1200px;margin:0 auto}
.page-header{margin-bottom:1rem}
.page-header h1{font-size:1.3rem;font-weight:600;color:var(--text-bright)}
.news-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.news-header-left{flex:1;min-width:0}
.subtitle{font-size:.85rem;color:var(--text-dim);margin-top:.25rem}
.controls-bar{display:flex;gap:.75rem;align-items:center;margin-top:.5rem;flex-wrap:wrap}
.loc-filter{background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:.25rem .5rem;font-size:.82rem}
.metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-bottom:1.25rem}
.spark-bar{height:4px;background:var(--accent);border-radius:2px;margin-top:2px;min-width:2px}
.metric-card{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:.75rem;text-align:center}
.metric-val{display:block;font-size:1.4rem;font-weight:700;color:var(--text-bright);font-family:var(--mono)}
.metric-label{font-size:.75rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}
.alerts{background:rgba(231,76,60,.1);border:1px solid var(--red);border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem}
.alerts h2{color:var(--red);font-size:.9rem;margin-bottom:.35rem}
.alerts ul{list-style:none;font-size:.82rem;color:var(--red)}
.alerts li{padding:.15rem 0}
.data-table-section,.chart-section,.map-section{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}
.data-table-section h2{font-size:.9rem;color:var(--text-bright);margin-bottom:.75rem;font-weight:500}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap td:first-child,.table-wrap th:first-child{white-space:nowrap;width:1px;padding-right:.5rem}
.table-wrap td:last-child{white-space:nowrap;text-align:right}
table{width:100%;border-collapse:collapse;font-size:.82rem}
thead th{background:var(--bg3);color:var(--text-dim);font-weight:500;text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--border);white-space:nowrap}
thead th.sortable{cursor:pointer;user-select:none}
thead th.sortable:hover{color:var(--text-bright)}
thead th.num,td.num{text-align:right}
td{padding:.35rem .6rem;border-bottom:1px solid var(--border);vertical-align:middle}
tr:hover td{background:rgba(255,255,255,.04)}
tr.alert-critical td{color:var(--red)}
tr.alert-warn td{color:var(--yellow)}
.loc{font-weight:500;color:var(--text-bright)}
.wow{font-size:.75rem;font-family:var(--mono)}.wow-up{color:var(--red)}.wow-down{color:var(--green)}
.table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;font-size:.82rem;color:var(--text-dim)}
.btn{background:var(--accent);color:#000;border:none;border-radius:4px;padding:.35rem .85rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:.15s}
.btn:hover{opacity:.85}
.chart-container{width:100%;height:350px;position:relative}
#timeline-chart{width:100%;height:100%}
#map{height:400px;border-radius:6px;background:var(--bg3)}
.map-legend{margin-top:.5rem;font-size:.75rem;color:var(--text-dim);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.dot-lg,.dot-md,.dot-sm{display:inline-block;border-radius:50%;vertical-align:middle}.dot-lg{width:14px;height:14px;background:var(--accent)}.dot-md{width:10px;height:10px;background:var(--accent2)}.dot-sm{width:6px;height:6px;background:var(--text-dim)}
.badge{display:inline-block;padding:.1rem .45rem;border-radius:3px;font-size:.7rem;font-weight:600}
.badge-high{background:rgba(231,76,60,.2);color:var(--red)}
.badge-med{background:rgba(240,192,64,.15);color:var(--yellow)}
.badge-low{background:rgba(46,204,113,.15);color:var(--green)}
.about-text{font-size:.85rem;line-height:1.65;color:var(--text)}.about-text p{margin-bottom:.75rem}.about-text strong{color:var(--text-bright)}.about-text h3{font-size:.95rem;color:var(--accent2);margin-top:1.25rem;margin-bottom:.35rem;font-weight:600}
td.desc{max-width:320px;font-size:.78rem;color:var(--text-dim)}
.section-number{font-size:.75rem;color:var(--accent);font-weight:700;margin-bottom:.25rem;margin-top:1rem;font-family:var(--mono)}.empty-state{padding:2rem;text-align:center;color:var(--text-dim)}
.countries-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:.5rem}.country-card{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:12px;transition:border-color .15s}.country-card:hover{border-color:var(--accent2)}.country-card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.country-name{font-weight:600;color:var(--text-bright);font-size:.85rem}.country-stats{font-size:.7rem;color:var(--text-dim)}.country-card-body{display:flex;flex-direction:column;gap:4px}.country-spark svg{display:block;width:100%;height:auto}.country-meta{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-dim)}
.app-footer{background:var(--bg2);border-top:1px solid var(--border);padding:.5rem 1rem;font-size:.75rem;color:var(--text-dim);display:flex;justify-content:space-between;flex-wrap:wrap}
a:focus-visible,button:focus-visible,select:focus-visible,.btn:focus-visible,.sortable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
th.sort-asc::after{content:" ▲";font-size:.65rem;margin-left:3px;color:var(--accent)}
th.sort-desc::after{content:" ▼";font-size:.65rem;margin-left:3px;color:var(--accent)}
@media print{body{background:#fff;color:#000}.app-header{position:static;background:#fff;border-bottom:1px solid #ccc}.app-footer{display:none}main{max-width:100%}.tab-nav,.virus-nav{display:none}a{color:#000!important}.metric-card{background:#f5f5f5;border:1px solid #ddd}.data-table-section,.chart-section,.map-section{background:#fff;border:1px solid #ddd}thead th{background:#f5f5f5;color:#000}td{color:#000}.loc{color:#000}.alert-critical td{color:#c0392b}.alert-warn td{color:#8a6d00}.empty-state{color:#666}.country-card{background:#fff;border:1px solid #ddd}.country-name{color:#000}}
.auth-link{font-size:.72rem;color:var(--text-dim);padding:.2rem .35rem;transition:color .15s}.auth-link:hover{color:var(--text-bright);text-decoration:none}
.auth-badge{font-size:.72rem;color:var(--accent2);font-weight:600;white-space:nowrap}
.commenting-as{font-size:.82rem;color:var(--text-dim);margin-bottom:.5rem}.commenting-as strong{color:var(--text-bright)}
.delete-comment{background:none;border:none;color:var(--red);font-size:.72rem;cursor:pointer;padding:.15rem .35rem;opacity:.6;transition:opacity .15s}.delete-comment:hover{opacity:1;text-decoration:underline}
.auth-section{max-width:400px;margin:2rem auto}
.auth-form{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:1.5rem}
.auth-form label{display:block;margin-bottom:1rem}
.auth-form label span{display:block;font-size:.82rem;color:var(--text-dim);margin-bottom:.25rem}
.auth-form input{width:100%;background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.5rem .65rem;font-size:.88rem;font-family:var(--font)}
.auth-form input:focus{outline:2px solid var(--accent);outline-offset:1px}
.auth-status{font-size:.85rem;padding:.4rem 0;min-height:1.5rem}
.auth-status.error{color:var(--red)}
.auth-alt{text-align:center;margin-top:1rem;font-size:.85rem;color:var(--text-dim)}
.auth-alt a{color:var(--accent2)}
.feedback-btn{background:var(--accent);color:#000;border:none;border-radius:4px;padding:.25rem .65rem;font-size:.72rem;font-weight:600;cursor:pointer;margin-left:auto;transition:opacity .15s}.feedback-btn:hover{opacity:.8;text-decoration:none}
.theme-btn{background:none;border:1px solid var(--border);border-radius:4px;padding:.25rem .4rem;font-size:.85rem;cursor:pointer;transition:.15s;line-height:1;color:var(--text-dim)}.theme-btn:hover{border-color:var(--accent);color:var(--text-bright)}
.feedback-overlay,.report-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);z-index:200;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
.feedback-overlay.open,.report-overlay.open{display:flex}
.feedback-modal,.report-modal{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:1.5rem;width:90%;max-width:440px;max-height:80vh;overflow-y:auto;position:relative}
.news-snippet{font-size:.78rem;color:var(--text-dim);margin-top:4px;line-height:1.4;max-width:600px}
.feedback-modal h2{font-size:1.1rem;color:var(--text-bright);margin-bottom:1rem}
.feedback-close,.report-close{position:absolute;top:.75rem;right:1rem;background:none;border:none;color:var(--text-dim);font-size:1.4rem;cursor:pointer;line-height:1}
.feedback-close:hover,.report-close:hover{color:var(--text-bright)}
.feedback-modal label,.report-modal label{display:block;margin-bottom:.75rem}
.feedback-modal label span,.report-modal label span{display:block;font-size:.82rem;color:var(--text-dim);margin-bottom:.25rem}
.feedback-modal .opt,.report-modal .opt{font-style:italic;color:var(--text-dim);opacity:.7}
.feedback-modal input,.report-modal input,.feedback-modal textarea,.report-modal textarea{width:100%;background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.5rem .65rem;font-size:.88rem;font-family:var(--font)}
.feedback-modal input:focus,.report-modal input:focus,.feedback-modal textarea:focus,.report-modal textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.feedback-modal textarea{resize:vertical;min-height:80px}
.feedback-status,.report-status{font-size:.82rem;padding:.4rem 0;min-height:1.5rem}
.feedback-status.success,.report-status.success{color:var(--green)}
.feedback-status.error,.report-status.error{color:var(--red)}
.feedback-submit,.report-submit{width:100%;padding:.5rem;font-size:.88rem;margin-top:.25rem}
.feedback-privacy{font-size:.72rem;color:var(--text-dim);margin-top:.6rem;line-height:1.4}
.feedback-email-alt{font-size:.72rem;color:var(--text-dim);margin-top:.3rem}
.feedback-email-alt a{color:var(--accent2)}
.report-btn{background:var(--accent2);color:#fff;border:none;border-radius:4px;padding:.3rem .7rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}.report-btn:hover{opacity:.8;text-decoration:none}
.report-modal h2{font-size:1.1rem;color:var(--text-bright);margin-bottom:.25rem}.report-desc{font-size:.82rem;color:var(--text-dim);margin-bottom:1rem}
.report-modal label em{font-style:normal;color:var(--red);font-size:.75rem}
.report-modal textarea{resize:vertical;min-height:60px}
.translation{color:var(--text-dim);font-size:.78rem;display:block;margin-top:2px}
.title-translation{font-size:.95rem;margin-top:4px;color:var(--text-dim)}
@media(max-width:768px){.metrics-row{grid-template-columns:repeat(2,1fr)}.virus-pills{gap:.2rem}.pill{font-size:.75rem;padding:.15rem .5rem}.tab-nav a{padding:.3rem .5rem;font-size:.75rem}main{padding:.5rem}.chart-container{height:220px}#map{height:280px}}@media(max-width:480px){.news-header{flex-direction:column}.news-header-left{width:100%}.tab-nav a{padding:.25rem .4rem;font-size:.7rem}.page-header h1{font-size:1.1rem}}