:root{--bg:#fff;--fg:#141414;--muted:#5f5f5f;--border:#e3e3e3;--primary:#141414;--accent:#0b6bcb}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:900px;margin:0 auto;padding:0 12px}
header.site{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--border)}
.bar{display:flex;align-items:center;justify-content:space-between;padding:8px 0}
.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:20px}
.brand img{width:32px;height:32px;object-fit:cover}
.tools{display:flex;gap:8px;padding-bottom:8px}
input[type=search],select{height:32px;border:1px solid var(--border);background:var(--bg);padding:0 8px;font:inherit;font-size:14px;outline:none;border-radius:0}
input[type=search]{flex:1;min-width:0}
.grid{display:grid;gap:0;margin-top:4px}
@media(min-width:640px){.grid{grid-template-columns:1fr 1fr;column-gap:20px}}
.card{border:1px solid var(--border);padding:12px;display:flex;flex-direction:column;gap:8px}
.top{display:flex;align-items:center;gap:12px;min-width:0}
.icon{width:48px;height:48px;object-fit:cover;border:1px solid var(--border);flex:0 0 auto}
.meta{min-width:0;flex:1}
.name{font-weight:600;font-size:14px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sub{color:var(--muted);font-size:12px;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btn{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 10px;font-size:13px;font-weight:600;border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer}
.btn.ghost{background:var(--bg);color:var(--fg);border-color:var(--border)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.stats{display:flex;border:1px solid var(--border);margin:0}
.stats div{flex:1;text-align:center;padding:6px 8px;border-left:1px solid var(--border)}
.stats div:first-child{border-left:0}
.stats dd{margin:0;font-weight:700;font-size:15px}
.stats dt{margin:2px 0 0;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
h1{font-size:24px;line-height:1.25;margin:0}
h2{font-size:16px;margin:24px 0 8px}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-top:18px}
.section-head h1,.section-head h2{font-size:18px;font-weight:600;margin:0}
.app-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);padding:8px 0;min-width:0}
.featured-card{margin-top:8px;border:1px solid var(--border);background:#f7f7f7;padding:16px}
.featured-top{display:flex;align-items:center;gap:12px;min-width:0}
.featured-icon{width:80px;height:80px;object-fit:cover;border:1px solid var(--border);flex:0 0 auto}
.featured-name{font-size:20px;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.featured-info{font-size:14px;color:var(--muted);margin:8px 0 0}
.featured-download{width:100%;margin-top:12px}
.slide-buttons{display:flex;gap:4px}.slide-buttons button{width:28px;height:28px;padding:0;border:1px solid var(--border);background:#fff;cursor:pointer}
p.body{font-size:15px;line-height:1.75;color:#3a3a3a;white-space:pre-line}
.shots{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}
.shots img{height:280px;border:1px solid var(--border)}
.center{text-align:center;padding:40px 12px}
.note{border:1px solid var(--border);padding:16px;text-align:center;margin-top:24px}
