main{min-height:calc(100vh - var(--header-height));display:flex;flex-direction:column;padding:0 20px 20px}#affiliate-container{padding:10px;width:100%}#affiliate-container p{text-align:center;font-size:22px;word-break:keep-all}#affiliate-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:10px}.affiliate-link{display:block;padding:10px 20px;border-radius:5px;background:var(--site-color-1);text-align:center;font-size:24px;font-weight:700}#category-filter{display:flex;justify-content:center;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:10px;max-width:var(--app-width);margin:0 auto;width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none}#category-filter::-webkit-scrollbar{display:none}.category-btn{flex-shrink:0;padding:8px 20px;border:2px solid #abf1d1;border-radius:20px;background:#fff;font-size:18px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .18s,color .18s}.category-btn.active,.category-btn:hover{background:#abf1d1;color:#000}.app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:var(--app-width);padding-top:10px;margin:0 auto;align-content:start}.app-card{display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 2px rgba(0,0,0,.2);text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s}.app-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.12)}.app-card-name{font-size:24px;font-weight:700;color:#000;background:#abf1d1;padding:14px 18px;line-height:1.3;word-break:keep-all;min-height:90px;display:flex;align-items:center}.app-card-explain{font-size:22px;color:#555;padding:12px 18px;line-height:1.55;word-break:keep-all;min-height:100px}.app-card--thumb .app-card-thumb{width:100%;aspect-ratio:1/1;background:#f0f0f0;overflow:hidden}.app-card--thumb .app-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.app-card-name--thumb{background:#fff;text-align:center}@media screen and (max-width:880px){.app-grid{grid-template-columns:repeat(3,1fr)}}@media screen and (max-width:600px){.app-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media screen and (max-width:430px){.app-grid-text{grid-template-columns:1fr}.app-grid-thumb{grid-template-columns:repeat(2,1fr)}.app-grid-thumb .app-card-name{font-size:16px}}