:root{--primary:#2563eb;--bg:#f8fafc;--card-bg:#fff;--text-main:#1e293b;--text-sub:#64748b;--border:#e2e8f0}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0}a{color:inherit;text-decoration:none}#app{display:flex;flex-direction:column;margin:0 auto;max-width:1200px;min-height:100vh}.header{align-items:center;background:var(--card-bg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:20px;position:sticky;top:0;z-index:10}.header h1{color:var(--text-main);font-size:1.2rem;font-weight:700;margin:0}.search-container{display:flex;flex-grow:1;justify-content:flex-end;max-width:300px}.search-input{border:1px solid var(--border);border-radius:8px;font-size:.9rem;padding:8px 15px;transition:all .3s;width:100%}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.1);outline:none}.content{flex:1;padding:20px}.category-title{border-left:4px solid var(--primary);color:var(--text-main);font-size:1rem;font-weight:700;margin:30px 0 15px 5px;padding-left:10px}.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.card{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:20px;text-align:center;transition:all .2s}.card:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.05);transform:translateY(-3px)}.card:active{transform:scale(.98)}.card-icon-img{background-color:#f1f5f9;border-radius:10px;height:48px;margin-bottom:15px;object-fit:contain;width:48px}.card-name{font-size:1rem;font-weight:600;margin-bottom:8px}.card-desc{color:var(--text-sub);display:-webkit-box;font-size:.85rem;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;overflow:hidden}@media (max-width:600px){.header{align-items:flex-start;flex-direction:column}.search-container{justify-content:flex-start;margin-top:15px;max-width:100%;width:100%}.grid{gap:10px;grid-template-columns:1fr 1fr}.card{padding:15px 10px}.card-icon-img{height:40px;width:40px}.category-title{margin-top:20px}}