:root{--bg: #0d1117;--card: #161b22;--border: #30363d;--text: #c9d1d9;--text-muted: #8b949e;--accent: #58a6ff;--ios: #007aff;--android: #3ddc84}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;padding:20px}.container{max-width:1400px;margin:0 auto}h1{font-size:1.8rem;margin-bottom:20px}.stats{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px 18px}.stat-card .value{font-size:1.5rem;font-weight:600}.stat-card .label{color:var(--text-muted);font-size:.85rem}.controls{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.controls input,.controls select{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:8px 12px;color:var(--text);font-size:.9rem}.controls input{flex:1;min-width:200px}.controls input:focus,.controls select:focus{outline:none;border-color:var(--accent)}.table-wrapper{overflow-x:auto;background:var(--card);border:1px solid var(--border);border-radius:8px}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}th{background:var(--bg);color:var(--text-muted);font-weight:500;position:sticky;top:0}th[data-col]{cursor:pointer;-webkit-user-select:none;user-select:none}th[data-col]:hover{color:var(--text)}th[data-col]:after{content:"";margin-left:4px}th.sort-asc:after{content:"▲"}th.sort-desc:after{content:"▼"}td a{color:var(--accent);text-decoration:none}td a:hover{text-decoration:underline}tr:hover{background:#58a6ff0d}tr:last-child td{border-bottom:none}.os-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.8rem;font-weight:500}.os-badge.ios{background:#007aff33;color:var(--ios)}.os-badge.android{background:#3ddc8433;color:var(--android)}.download{margin-top:20px;display:flex;gap:15px}.download a{color:var(--accent);text-decoration:none;padding:8px 16px;border:1px solid var(--border);border-radius:6px;transition:background .2s}.download a:hover{background:var(--card)}@media(max-width:768px){body{padding:10px}h1{font-size:1.4rem}.stats{gap:10px}.stat-card{padding:10px 14px}.stat-card .value{font-size:1.2rem}}
